自定义微调字体

我有一个简单的列表中的微调。 我想知道是否可以replace我的微调中字体的样式。 或者,无论如何,我可以用来改变字体的样式,大小和颜色。

任何清除给予非常感激。

Solutions Collecting From Web of "自定义微调字体"

没有尝试,但android:typeface在XML或setTypeface()代码应该工作。

编辑:请按照这里的指导。

首先,在您的res / layout目录中创build一个名为“ my_spinner_style.xml ”的新XML文件,并放入类似以下内容的文件:

 android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="9pt" android:singleLine="True" android:id="@+id/spinnerTarget" android:textColor="#000000" android:gravity="center"/> 

然后在你的代码中使用这样的东西:

 Spinner mySpinner = (Spinner) findViewById(R.id.my_spinner); mySpinnerArrayAdapter = new MyCustomArrayAdapter(this, R.layout.my_spinner_style); mySpinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

通常你会为第二行创build一个新的ArrayAdapter,但是在这种情况下,你需要创build一个自定义的ArrayAdapter并且覆盖从我们的自定义的微调器样式中得到TextView的方法。

所以,你需要把你的自定义ArrayAdapter的代码,如下所示:

 private class MyArrayAdapter extends ArrayAdapter { public MyArrayAdapter(Context context, int textViewResourceId) { super(context, textViewResourceId); } public TextView getView(int position, View convertView, ViewGroup parent) { TextView v = (TextView) super.getView(position, convertView, parent); v.setTypeface(myFont); return v; } public TextView getDropDownView(int position, View convertView, ViewGroup parent) { TextView v = (TextView) super.getView(position, convertView, parent); v.setTypeface(myFont); return v; } } 

您要使用的字体需要驻留在assets / fonts目录中,您可以像这样访问它:

 Typeface myFont = Typeface.createFromAsset(getAssets(), "fonts/myfont.ttf"); 

而这是非常多的。