我正在尝试使用Android OS 2.3.x中的Java在listview中拥有自己的字体
阅读以下链接后,我陷入了困境:
http://developer.android.com/guide/topics/ui/themes.html http://stackoverflow.com/questions/4576441/custom-font-in-android-listview http://androidforums.com/android-lounge/143874-custom-typface-listview-row-layout.html
我不能在这里发布有用的东西。
我的主要问题是:
我知道我必须学习很多东西,而且我已经准备好了尽可能多的关于这个主题的书籍。但经过两天的猜测和尝试,我不得不寻求帮助。
可能有人可以把我推向正确的方向;)
为了给你一个小小的想法,我试着清理一些代码:
文件:res / layout / scores.xml(来自它的片段)
<ListView
android:id="@+id/android:list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#00000000"
android:cacheColorHint="#00000000"
android:transcriptMode="disabled" >
</ListView>
文件:src / notneededasinfo / ScoresActivity.java(来自它的片段)
Resources myResources = getResources();
Typeface tf = Typeface.createFromAsset(myResources.getAssets(),"fonts/searstower.ttf");
TextView tv = (TextView) findViewById(android.R.id.list);
tv.setTypeface(tf);
寻求帮助!
答案 0 :(得分:1)
嗯......首先android:textStyle和setTypeface(Typeface)不是ListView的属性和函数,它来自TextView。
尝试使用本教程:http://developer.android.com/resources/tutorials/views/hello-listview.html
无论如何,您必须定义一个.xml文件,该文件在ListView中定义itens的样式。在我发布的链接之前,您可以在主题4上看到处理程序onCreate以下行:
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES));
因此,您必须在上面使用的文件list_item.xml中将ListView项定义为R.layout.list_item。在此文件list_item.xml中,您可以定义新的TextViews或EditTexts或其他内容,并为每个视图单独更改字体。
希望它对你有所帮助......
答案 1 :(得分:0)
TextView tv = (TextView) findViewById(android.R.id.list);
您需要有一个文本视图来设置字体。您缺少列表行视图。
答案 2 :(得分:0)
我对你的一个问题有答案
为什么我没有为我的应用程序中的所有文本定义字体 再把它放在每个活动中?
这是一个已知问题,但很容易解决。只需实现一个自定义活动类,该类扩展Activity并覆盖setContentView()
方法。在此方法中,您可以获取当前视图的所有TextView并设置Typface