android – 自定义微调器字体

我有一个带有简单列表的微调器.我想知道我是否可以在我的微调器中替换字体的样式.或者无论如何我可以用来改变字体样式,大小和颜色.

任何许可都非常感谢.

解决方法

没试过,但 androidXML中的字体或代码中的setTypeface()应该可以工作.

编辑:请按照指导here.

首先,在res / layout目录中创建一个名为“my_spinner_style.xml”的新XML文件,并输入类似以下内容:

android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="9pt"
android:singleLine="True"
android:id="@+id/spinnerTarget"
android:textColor="#000000"
android:gravity="center"/>

然后在您的代码中,使用以下内容:

Spinner mySpinner = (Spinner) findViewById(R.id.my_spinner);
mySpinnerArrayAdapter = new MyCustomArrayAdapter(this,R.layout.my_spinner_style);  
mySpinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

通常,您将为第二行创建一个新的ArrayAdapter,但在这种情况下,您需要创建一个自定义ArrayAdapter并覆盖从我们的自定义微调器样式获取TextView的方法.

因此,您需要为自定义ArrayAdapter输入代码,如下所示:

private class MyArrayAdapter extends ArrayAdapter {

    public MyArrayAdapter(Context context,int textViewResourceId) {
        super(context,textViewResourceId);
    }

    public TextView getView(int position,View convertView,ViewGroup parent) {
        TextView v = (TextView) super.getView(position,convertView,parent);
        v.setTypeface(myFont);
        return v;
    }

    public TextView getDropDownView(int position,parent);
        v.setTypeface(myFont);
        return v;
    }

}

您要使用的字体需要驻留在assets / fonts目录中,您可以像这样访问它:

Typeface myFont = Typeface.createFromAsset(getAssets(),"fonts/myfont.ttf");

这就是它.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...