如何设置android字体系列以使宽度相同?

时间:2013-12-03 02:45:34

标签: android

tvA的文本包括两个空格,tvB包含一个空格。 但在UI中,两个控件的宽度不同。 我希望tvA和tvB的宽度一样,怎么办?谢谢!

 <TextView
   android:id="@+id/tvA"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="1  2" />


 <TextView
   android:id="@+id/tvB"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="3 45" />

1 个答案:

答案 0 :(得分:1)

默认droidsans字体不是Monospaced字体,因此您无法使“wrap_content”textviews具有相同的宽度。为此,您必须使用一些自定义字体。

你应该使用像“courier new”这样的字体。将ttf文件与您的APK(在assets文件夹中)一起打包并在您的代码中执行此操作:

Typeface tf = Typeface.createFromAsset(getAssets(),
        "fonts/CourierNew.ttf");
TextView tva = (TextView) findViewById(R.id.tvA);
TextView tvb = (TextView) findViewById(R.id.tvB);
tva.setTypeface(tf);
tvb.setTypeface(tf);