android - 自定义微调器字体

标签 android spinner

<分区>

我有一个微调器,里面有一个简单的列表。我想知道是否可以替换微调器中的字体样式。或者有没有我可以用来更改字体样式、大小和颜色的方法。

非常感谢任何许可。

最佳答案

没试过,但是 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");

差不多就是这些了。<​​/p>

关于android - 自定义微调器字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6093404/

相关文章:

android - 需要在 Android/Java 中向下钻取 ListView 的高效数据映射示例

android - 当任一编辑文本获得焦点时,软键盘顶部的黑色矩形

android - 以编程方式布局android fragment

java - 通过代码动态选择 Spinner 中的项目

android - 如何在自定义微调项目之间添加空间?

php - Android 从 php/mysql 查询填充微调器

android - 添加 Spinner 作为 ListView 数据

java - EventBus - 事件生命周期的一些问题

android - 提取最后一个斜杠和问号之间的字符串

java - 如何将单个对象分配给所选微调器项中的字符串变量