Android的微调改变字体字样 [英] android spinner change font typeface
本文介绍了Android的微调改变字体字样的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要去改变文字的字体在我的微调器arialbold我如何去这样做。下面是我的code: -
ArrayAdapter< CharSequence的> genderAdap = ArrayAdapter.createFromResource(getActivity(),R.array.gender,R.layout.spinner_item);
genderAdap.setDropDownViewResource(R.layout.spinner_item);
ddlGender.setAdapter(genderAdap);
解决方案
类:
公共类testActivity延伸活动{
私有静态最后的String [] COUNTRIES =新的String [] {比利时,
法国,意大利,德国,西班牙};
私人微调mySpinner;
私人字样myFont;
@覆盖
保护无效的onCreate(包savedInstanceState){
// TODO自动生成方法存根
super.onCreate(savedInstanceState);
的setContentView(R.layout.newlay);
mySpinner =(微调)findViewById(R.id.spinner1);
myFont = Typeface.createFromAsset(getAssets(),gujarti.ttf);
MyArrayAdapter MA =新MyArrayAdapter(本);
mySpinner.setAdapter(MA);
}
私有类MyArrayAdapter扩展了BaseAdapter {
私人LayoutInflater mInflater;
公共MyArrayAdapter(testActivity CON){
// TODO自动生成构造函数存根
mInflater = LayoutInflater.from(CON);
}
@覆盖
公众诠释getCount将(){
// TODO自动生成方法存根
返回COUNTRIES.length;
}
@覆盖
公共对象的getItem(INT位置){
// TODO自动生成方法存根
返回的位置;
}
@覆盖
众长getItemId(INT位置){
// TODO自动生成方法存根
返回的位置;
}
@覆盖
公共查看getView(INT位置,查看convertView,ViewGroup中父){
// TODO自动生成方法存根
最后的listContent持有人;
视图V = convertView;
如果(V == NULL){
V = mInflater.inflate(R.layout.my_spinner_style,NULL);
持有人=新的listContent();
holder.name =(TextView中)v.findViewById(R.id.textView1);
v.setTag(保持器);
} 其他 {
支架=(的listContent)v.getTag();
}
holder.name.setTypeface(myFont);
holder.name.setText(+国[位置]);
返回伏;
}
}
静态类的listContent {
TextView的名称;
}
}
布局:
< LinearLayout中的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT
机器人:方向=垂直>
<微调
机器人:ID =@ + ID / spinner1
机器人:layout_width =match_parent
机器人:layout_height =WRAP_CONTENT/>
< / LinearLayout中>
my_spinner_style.xml
< LinearLayout中的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT>
<的TextView
机器人:ID =@ + ID / textView1
机器人:layout_width =match_parent
机器人:layout_height =WRAP_CONTENT
机器人:文本=大文本
机器人:textAppearance =:/>中的Android ATTR / textAppearanceLarge?
< / LinearLayout中>
i'm going to change text typeface to arialbold in my spinner how i'm going to do so. Below is my code :-
ArrayAdapter<CharSequence> genderAdap = ArrayAdapter.createFromResource(getActivity(), R.array.gender,R.layout.spinner_item);
genderAdap.setDropDownViewResource(R.layout.spinner_item);
ddlGender.setAdapter(genderAdap);
解决方案
Class :
public class testActivity extends Activity {
private static final String[] COUNTRIES = new String[] { "Belgium",
"France", "Italy", "Germany", "Spain" };
private Spinner mySpinner;
private Typeface myFont;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.newlay);
mySpinner = (Spinner) findViewById(R.id.spinner1);
myFont = Typeface.createFromAsset(getAssets(), "gujarti.ttf");
MyArrayAdapter ma = new MyArrayAdapter(this);
mySpinner.setAdapter(ma);
}
private class MyArrayAdapter extends BaseAdapter {
private LayoutInflater mInflater;
public MyArrayAdapter(testActivity con) {
// TODO Auto-generated constructor stub
mInflater = LayoutInflater.from(con);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return COUNTRIES.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
final ListContent holder;
View v = convertView;
if (v == null) {
v = mInflater.inflate(R.layout.my_spinner_style, null);
holder = new ListContent();
holder.name = (TextView) v.findViewById(R.id.textView1);
v.setTag(holder);
} else {
holder = (ListContent) v.getTag();
}
holder.name.setTypeface(myFont);
holder.name.setText("" + COUNTRIES[position]);
return v;
}
}
static class ListContent {
TextView name;
}
}
Layout :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
my_spinner_style.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
这篇关于Android的微调改变字体字样的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文