更改textview的字体

时间:2012-09-15 10:20:24

标签: android

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

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

1 个答案:

答案 0 :(得分:3)

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