2

我有一个 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>

如果有人可以向我展示我需要添加或更改的代码,那就太好了!谢谢。

4

1 回答 1

3

实际上,当您在SimpleAdapterR.id.ListTextView中用作参数时,Adapter 直接访问它以创建 View,因此每次都是新的,而不是您在Activity 中定义的,所以要么使用自定义 TextView并在 XML 中添加字体,然后在SimpleAdapter或 Write CustomAdapter中将其用作参数,并在其中使用 View inflater 重新定义 TextView 并在此方法中设置字体字体。 onCreate()getView()

于 2012-09-15T10:25:05.383 回答