【问题标题】:Setting external font for selected item of the spinner android为微调器android的选定项目设置外部字体
【发布时间】:2016-06-16 05:57:31
【问题描述】:

我已将文本视图设置为数组适配器,以显示微调器的选定项。这是数组适配器的代码。

ArrayAdapter<CharSequence> adapterDitrict =  ArrayAdapter.createFromResource(this, R.array.district_array,
                    R.layout.spinner_item);
adapterDitrict.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerDitrict.setAdapter(adapterDitrict);`

`

这里的R.layout.spinner_item是用来显示spinner的选中项的文本框。请注意,此文本视图不在活动的布局中。现在我想给这个文本框应用一个外部字体。但是我无法使用 findviewbyid 获得对此文本视图的引用,因为它不在活动布局中。我正在使用 setTypeface 设置外部字体。那么如何显示微调器的选定项是使用外部字体的文本视图。请帮忙。

【问题讨论】:

    标签: android android-arrayadapter textview android-spinner android-fonts


    【解决方案1】:

    您可以通过 2 种方式实现此目的,第一种是采用自定义适配器并管理您的视图,第二种是仅针对当前适配器覆盖您的 getView 方法。

    自定义适配器的第一个选项如下链接

    http://androidexample.com/Custom_Spinner_With_Image_And_Text_-_Android_Example/index.php?view=article_discription&aid=84&aaid=107

    对于第二个选项,请查看下面的答案

      ArrayAdapter<CharSequence> adapterDitrict = ArrayAdapter
                .createFromResource(this, R.array.district_array,
                        R.layout.spinner_item)
      {
           @Override
           public View getView(int position, View convertView, ViewGroup parent) 
           {
    
                View v = super.getView(position, convertView, parent);
                ((TextView) v).setTypeFace(Your Tyope Face);
                return v;
           }
      };
    

    检查两个答案并根据您的要求使用任何一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-04
      • 2012-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多