如何在android所有版本

时间:2015-05-04 06:57:59

标签: android android-layout android-activity layout

我正在尝试使用图标实现选项菜单,但我试图在选项菜单上设置背景但未成功如何实现请帮助我

2 个答案:

答案 0 :(得分:0)

  @Override
public boolean onCreateOptionsMenu(Menu menu)
{
    MenuInflater inflater=getMenuInflater();
    inflater.inflate(R.menu.menu,menu);
   setMenuBackground(); 
   return true;    
 }




  protected void setMenuBackground(){                     
    // Log.d(TAG, "Enterting setMenuBackGround");  
    getLayoutInflater().setFactory( new Factory() {  
        public View onCreateView(String name, Context context, AttributeSet attrs) {
            if ( name.equalsIgnoreCase( "com.android.internal.view.menu.IconMenuItemView" ) ) {
                try { // Ask our inflater to create the view  
                    LayoutInflater f = getLayoutInflater();  
                    final View view = f.createView( name, null, attrs );  
                    /* The background gets refreshed each time a new item is added the options menu.  
                    * So each time Android applies the default background we need to set our own  
                    * background. This is done using a thread giving the background change as runnable 
                    * object */
                    new Handler().post( new Runnable() {  
                        public void run () {  
                            // sets the background color   
                            view.setBackgroundResource( R.color.androidcolor);
                            // sets the text color              
                            ((TextView) view).setTextColor(Color.BLACK);
                            // sets the text size              
                            ((TextView) view).setTextSize(18);
            }
                    } );  
                return view;
            }
        catch ( InflateException e ) {}
        catch ( ClassNotFoundException e ) {}  
    } 
    return null;
}}); 
}

答案 1 :(得分:0)

请参阅ActionBarStyleGenerator

您需要设置弹出颜色,这会根据需要更改菜单背景。下载生成的样式并应用于您的项目。