• 修改Menu_item的字体属性



    前面一直在找 MenuItem的文字颜色的设置。我发现API中只有背景颜色的设置。。。

    所以找到下面的方法。在OverFlow上看到的。
    在onCreateOptionsMenu中覆写一下, 使MenuItem产生的ItemView去修改文字颜色.


      @Override
      public boolean onCreateOptionsMenu(Menu menu) {

          MenuInflater inflater = getMenuInflater();

          getLayoutInflater().setFactory(new Factory() {

          @Override
          public View onCreateView(String name, Context context, AttributeSet attrs) {

            if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")
                    || name.equalsIgnoreCase("com.android.internal.view.menu.ActionMenuItemView")) { //## 括号中是控件的类型, 只要是界面中有此类型的控件,全都会修改.

               try {
                    LayoutInflater f = getLayoutInflater();
                    final View view = f.createView(name, null, attrs);
                    if(view instanceof TextView){
                     ((TextView)view).setTextColor(Color.GREEN);
                     ((TextView)view).setTextSize(13);
                                               }
                    return view;
               } catch (InflateException e){
                       e.printStackTrace();
               } catch (ClassNotFoundException e){
                       e.printStackTrace();
                                 }
                       }
           return null;
               }
            
          });
          
          inflater.inflate(R.menu.main, menu);
          return super.onCreateOptionsMenu(menu);
       }





  • 相关阅读:
    课上练习,判断大小。
    软件工程个人作业03。
    构建之法阅读笔记一。
    软件工程个人作业02。
    SSM常见面试题
    Bean的作用域和初始化时机(singleton&prototype)
    Spring中的AOP
    Spring核心概念和打印机案例
    MyBatis中的常用注解
    MyBatis中的延迟加载策略
  • 原文地址:https://www.cnblogs.com/neo-java/p/6830220.html
Copyright © 2020-2023  润新知