相关疑难解决方法(0)

如何以编程方式将字体自定义字体设置为Spinner文本?

我的资产文件夹中有一个ttf字体文件.我知道如何将它用于textviews:

Typeface externalFont=Typeface.createFromAsset(getAssets(), "fonts/HelveticaNeueLTCom-Lt.ttf");
textview1.setTypeface(externalFont);
Run Code Online (Sandbox Code Playgroud)

我已经定义了在我自己的xml文件中查找我的微调器文本(如在android中的usuall):

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:textColor="#ffffff"
android:gravity="center" 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee" />
Run Code Online (Sandbox Code Playgroud)

我只是无法从代码中引用此textview,我总是得到空指针异常.我尝试过:

TextView spinner_text=(TextView)findViewById(R.id.text1);
spinner_text.setTypeface(externalFont);
Run Code Online (Sandbox Code Playgroud)

即使我自己的xml中定义的微调器文本,是否可以选择我的外部字体?

谢谢.

编辑回答:

这有效:

String [] items = new String[2];
    items[0]="Something1";
    items[1]="Something2";

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                    R.layout.spinaca, items) {

         public View getView(int position, View convertView, ViewGroup parent) {
                 View v = super.getView(position, convertView, parent);

                 Typeface externalFont=Typeface.createFromAsset(getAssets(), "fonts/HelveticaNeueLTCom-Lt.ttf");
                 ((TextView) v).setTypeface(externalFont);

                 return v;
         }


         public View getDropDownView(int position,  View convertView,  ViewGroup parent) {
                  View v =super.getDropDownView(position, convertView, …
Run Code Online (Sandbox Code Playgroud)

fonts android spinner android-fonts android-spinner

89
推荐指数
3
解决办法
7万
查看次数

标签 统计

android ×1

android-fonts ×1

android-spinner ×1

fonts ×1

spinner ×1