android集成开发环境eclipse、ADT
android sdk 3.0及以上
自定义Activity主题和ActionBar样式 在新建的android工程的res/values/styles.xml添加自定义ActionBar样式的代码和自定义Activity主题的代码,并在AndroidMainfest.xml中给需要使用该自定义ActionBar的Activity中加入该主题:(1)自定义ActionBar样式代码如下: (2)自定义Activity主题代码如下: (3)在AndroidManifest.xml文件中需要使用该自定义ActionBar的Activity中加入该主题如下:
在Activity中加载ActionBar的自定义布局(1)ActionBar加载自定义布局的代码封装如下:/** * 设置ActionBar的布局 * @param layoutId 布局Id * * */ public void setActionBarLayout( int layoutId ){ ActionBar actionBar = getActionBar( ); if( null != actionBar ){ actionBar.setDisplayShowHomeEnabled( false ); actionBar.setDisplayShowCustomEnabled(true); LayoutInflater inflator = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View v = inflator.inflate(layoutId, null); ActionBar.LayoutParams layout = new ActionBar.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); actionBar.setCustomView(v,layout); } }(2)在onCreate()方法中调用该方法,并传入自定义的布局文件ID:@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_diy_action_bar); // 自定义actionbar的布局 setActionBarLayout( R.layout.actionbar_port_layout ); }(3)自定义布局文件“actionbar_port_layout.xml ”代码如下:
在Action中监听ActionBar中按钮的点击事件/** * 实现onClick方法,在这里面监听actionbar中按钮的点击事件 * * */ public void onClick( View v ){ switch( v.getId( ) ){ case R.id.menuBtnId:{ showToast( this, "menuBtn" ); } break; case R.id.noteBtnId:{ showToast( this, "noteBtn" ); } break; case R.id.downloadBtnId:{ showToast( this, "downloadBtn" ); } break; case R.id.editBtnId:{ showToast( this, "editBtn" ); } break; default:{ } break; } }
http://download.csdn.net/detail/zmywly/6922375
自定义actionbar的布局时,应通过自定义actionbar的样式为其设置默认背景以避免在进入窗口耗时较长时会首先显示actionbar默认的背景。