自定义微调按钮字体 [英] Customizing spinner font

查看:19
本文介绍了自定义微调按钮字体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有简单列表的微调控件。我想知道我是否可以替换我的微调工具中的字体样式。或者有什么我可以用来更改字体样式、大小和颜色的吗?

任何给予的许可都是非常感谢的。

推荐答案

没有尝试,但xml中的android:typeface或代码中的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, View convertView, ViewGroup parent) {
        TextView v = (TextView) super.getView(position, convertView, parent);
        v.setTypeface(myFont);
        return v;
    }

}

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

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

差不多就是这样。

这篇关于自定义微调按钮字体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆