gpt4 book ai didi

Android 为 ListView 项使用自定义字体

转载 作者:行者123 更新时间:2023-11-30 04:29:35 24 4
gpt4 key购买 nike

您好,我需要一些帮助来为 ListView 项使用自定义字体。我从这样的 Assets 文件夹中获取字体:

Typeface font = Typeface.createFromAsset(getAssets(), "hermesbgbold.otf"); 

我正在尝试为我的 listview 项目设置它,但问题是我正在为我的 ListView 使用 SimpleAdapter 而 TextView 在另一个 XML 中,我将其用作我的 ListView 的 contentView .这是更好理解的代码:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.events);
// code

SimpleAdapter adapter = new SimpleAdapter(this, items, R.layout.events_items,
new String[]{ICON,TITLE, INFO}, new int[]{ R.id.thumb,R.id.title, R.id.dates})

}

因此,我想与自定义字体一起使用的 TextView 位于 events_items.xml 中。那么如何设置 titledates 来使用这个自定义字体呢?

最佳答案

创建您自己的自定义适配器并为文本设置字体。

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// ViewHolder will buffer the assess to the individual fields of the row
// layout

ViewHolder holder;
// Recycle existing view if passed as parameter
// This will save memory and time on Android
// This only works if the base layout for all classes are the same
View rowView = convertView;
if (rowView == null) {

LayoutInflater inflater = context.getLayoutInflater();
rowView = inflater.inflate(R.layout.main_listview, null, true);

holder = new ViewHolder();
holder.textView = (TextView) rowView.findViewById(R.id.main_name);
rowView.setTag(holder);

} else {
holder = (ViewHolder) rowView.getTag();
}

Typeface font = Typeface.createFromAsset(getAssets(), "hermesbgbold.otf");
holder.textView.setTypeface(font);
holder.textView.setText(title);

return rowView;
}

关于Android 为 ListView 项使用自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7944262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com