首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在ActionBar.NAVIGATION_MODE_LIST的微调器中应用自定义字体?

如何在ActionBar.NAVIGATION_MODE_LIST的微调器中应用自定义字体?
EN

Stack Overflow用户
提问于 2013-12-28 12:43:55
回答 3查看 598关注 0票数 0

我已经使用bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);在actionbar中设置了微调器

然后设置

代码语言:javascript
运行
复制
dropdownValues = getResources().getStringArray(R.array.sortby_array);
            ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
                    R.array.sortby_array, android.R.layout.simple_spinner_item);
            // Specify the layout to use when the list of choices appears
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            bar.setListNavigationCallbacks(adapter, this);

现在我想改变字体样式..所以任何人都可以帮助我,请

EN

回答 3

Stack Overflow用户

发布于 2013-12-28 13:11:21

在您的assets文件夹中创建一个文件夹字体,并将该字体放入该folder.Hope中

代码语言:javascript
运行
复制
 ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
                R.array.sortby_array, android.R.layout.simple_spinner_item) {

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

             Typeface externalFont=Typeface.createFromAsset(getAssets(), "fonts/your font name here");
             ((TextView) v).setTypeface(externalFont);

             return v;
     }


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

             Typeface externalFont=Typeface.createFromAsset(getAssets(), "fonts/ your font name here");
             ((TextView) v).setTypeface(externalFont);

             return v;
     }
};
票数 2
EN

Stack Overflow用户

发布于 2013-12-28 12:54:48

尝尝这个

代码语言:javascript
运行
复制
 mLocations = getResources().getStringArray(R.array.locations);

    Context context = getSupportActionBar().getThemedContext();
    ArrayAdapter<CharSequence> list = ArrayAdapter.createFromResource(context, R.array.locations, R.layout.sherlock_spinner_item);
    list.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item);

    getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
    getSupportActionBar().setListNavigationCallbacks(list, this);

创建此R.layout.sherlock_spinner_dropdown_item

票数 0
EN

Stack Overflow用户

发布于 2013-12-28 13:14:21

我已经用SpinnerAdapter做到了这一点。参见代码示例:

代码语言:javascript
运行
复制
public class SpinnerAdapter extends ArrayAdapter<String> {
    public SpinnerAdapter(Context context, int textViewResourceId,
            String[] strings) {
        super(context, textViewResourceId, strings);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = super.getView(position, convertView, parent);
        if (view instanceof TextView) {

            Typeface tf = Typeface.createFromAsset(getContext().getAssets(),
                    "fonts/hattori.ttf");

            ((TextView) view).setTextColor(Color.parseColor("#000000"));
            ((TextView) view).setTypeface(tf);
            ((TextView) view).setTextSize(16);
        }
        return view;
    }


}

编辑:这不是在ActionBar中,所以不确定它是否工作相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20811073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档