我有一个带有简单列表的微调器.我想知道我是否可以在我的微调器中替换字体的样式.或者无论如何我可以用来改变字体样式,大小和颜色.
任何许可都非常感谢.
解决方法
没试过,但
android:
XML中的字体或代码中的setTypeface()应该可以工作.
编辑:请按照指导here.
首先,在res / layout目录中创建一个名为“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);
通常,您将为第二行创建一个新的ArrayAdapter,但在这种情况下,您需要创建一个自定义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,parent); v.setTypeface(myFont); return v; } }
您要使用的字体需要驻留在assets / fonts目录中,您可以像这样访问它:
Typeface myFont = Typeface.createFromAsset(getAssets(),"fonts/myfont.ttf");
这就是它.