2013-01-24 179 views
3

我已經查看了很多答案和問題,這裏是關於stackoverflow的,但沒有發現任何對我的問題真正有用的東西。更改字體/文字大小時的Textview對齊問題

我有相等的尺寸和緊挨着彼此相等屬性兩個textviews中,XML佈局是這樣的(僅TEXTSIZE不同)

<?xml version="1.0" encoding="utf-8"?> 

<TextView 
     android:id="@+id/data_content_left" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight=".50" 
     android:gravity="bottom|center" 
     android:text="201.5" 
     android:textSize="50sp" 
     android:textStyle="bold" 
     android:singleLine="true" 
     android:ems="62" /> 

    <TextView 
     android:id="@+id/data_content_right" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="0.50" 
     android:ems="62" 
     android:gravity="center|bottom" 
     android:singleLine="true" 
     android:text="201.5" 
     android:textSize="20sp" 
     android:textStyle="bold" /> 

和代碼是

package com.example.fonttest; import android.os.Bundle; import android.app.Activity; import android.graphics.Typeface; import android.view.Menu; import android.widget.LinearLayout; import android.widget.TextView;

公共類MainActivity擴展活動{

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_main); 

    TextView textViewLeft = (TextView) findViewById(R.id.data_content_left); 
    TextView textViewRight = (TextView) findViewById(R.id.data_content_right); 

    Typeface myTypeface = Typeface.createFromAsset(this.getAssets(), "fonts/wwDigital.ttf"); 

    textViewLeft.setTypeface(myTypeface, Typeface.NORMAL); 
    textViewRight.setTypeface(myTypeface, Typeface.NORMAL); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 

}

爲什麼用文本/字體大小改變號碼下方的「白色空間」的高度? (如下圖所示)

如何確定問題與字體或textview有關?

我使用這個字體:http://www.dafont.com/ww-digital.font][3]

enter image description here

回答

1

使用相同的字體,即TTF兩個文本視圖,並使用Android:EMS在TextView中定義max和它的最小值。

+0

謝謝!我之前沒有看到過android:ems屬性。我試圖在有問題的textview上指定android:ems,但它不會改變任何東西。縱向的空白區域隨着文本大小的變化而變化... – niaren

+0

發佈更多代碼和規範 – user2007354

+0

我現在編輯了這個問題,以便包含的xml和代碼給出圖像中顯示的輸出。我希望現在這個規範很明確。 – niaren