我有一个ListView,我想要做的就是更改字体。我已经将我的字体下载到assets / fonts文件夹。
如果我理解正确,我应该重写适配器..
这是我的代码:
onCreate....
Typeface font1 = Typeface.createFromAsset(getAssets(), "fonts/english.ttf");
font1 = Typeface.create(font1, Typeface.BOLD);
TextView customText = (TextView)findViewById(R.id.ListTextView);
customText.setTypeface(font1);
HashMap<String,String> contentItem = new HashMap<String,String>()
{
{
put(NAME_FIELD,"dudi");
}
};
content.add(contentItem);
SimpleAdapter adapter = new SimpleAdapter(this,
content,
R.layout.show_the_list,
new String[]{NAME_FIELD},
new int[]{R.id.ListTextView} );
ListView list1 = (ListView) findViewById(R.id.list);
list1.setAdapter(adapter);
xml文件:
<TextView
android:id="@+id/ListTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40dip"
android:textColor="@color/White" >
</TextView>
如果有人可以向我展示我需要添加或更改的代码,那就太棒了! 感谢。
答案 0 :(得分:3)
实际上,当您使用R.id.ListTextView
作为 SimpleAdapter 中的参数时,它会被适配器直接访问以创建View,因此每次都是新的而不是您在{{1调用Activity,所以要么使用自定义TextView 并在XML中添加字体字体,然后将其用作 SimpleAdapter 中的参数或写 CustomAdapter 并在onCreate()
中使用View inflater重新定义TextView并在此方法中设置字体字体..