android listview 如何给listview里的textView设置自定义字体,需要自定义BaseAdapter吗?
发布网友
发布时间:2022-04-27 03:32
我来回答
共4个回答
热心网友
时间:2023-11-18 12:27
是否自定义BaseAdapter无关,只要你能获取到TextView就可以,设置setTypeface(typeface);//typeface是你的自定义字体。
自定义字体的设置方法
1)Android默认方法 #1
你可以通过ID查找到View,然后挨个为它们设置字体。在单个View的情况下,它看起来也没有那么可怕。
Typeface customFont = Typeface.createFromAsset(this.getAssets(), "fonts/YourCustomFont.ttf");
TextView view = (TextView) findViewById(R.id.activity_main_header);
view.setTypeface(customFont);
2)Android默认方法 #2
你可以为每个文本组件创建一个子类,如TextView、Button等,然后在构造函数中加载自定义字体。
public class BrandTextView extends TextView {
public BrandTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public BrandTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public BrandTextView(Context context) {
super(context);
}
public void setTypeface(Typeface tf, int style) {
if (style == Typeface.BOLD) {
super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/YourCustomFont_Bold.ttf"));
} else {
super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/YourCustomFont.ttf"));
}
}
}
热心网友
时间:2023-11-18 12:28
//在这里去实现,在描写子项的视
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.area_item, null);
TextView t= (TextView)convertView.findViewById(R.id.item_area_name);
t.setFont();
return convertView;
}
热心网友
时间:2023-11-18 12:28
是的,自定义个布局,在布局里面改变字体
热心网友
时间:2023-11-18 12:29
继承baseadapter,在getView里textview.set****