menu部分xml代码
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<menu xmlns:android=\"http://schemas.android.com/apk/res/android\" >
<item android:id=\"@+id/action_search\"
android:title=\"搜索1\"
android:orderInCategory=\"100\"
android:showAsAction=\"always\"/>
<item android:id=\"@+id/action_search2\"
android:actionViewClass=\"android.widget.SearchView\"
android:showAsAction=\"ifRoom|collapseActionView\"
android:orderInCategory=\"100\"
android:title=\"搜索2\"/>
<item android:id=\"@+id/action_share\"
android:title=\"分享\"
android:orderInCategory=\"100\"
android:icon=\"@drawable/ic_action_favor_normal\"
android:showAsAction=\"never\"/>
<item android:id=\"@+id/action_collection\"
android:title=\"收藏\"
android:orderInCategory=\"100\"
android:showAsAction=\"never\"/>
<item android:id=\"@+id/action_font\"
android:title=\"字体大小\"
android:orderInCategory=\"100\"
android:showAsAction=\"never\"/>
</menu>
Menu中overflower菜单图标显示实现【重写onMenuOpened方法,使用反射原理】
/**
* 显示overflower菜单图标
*/
@Override
public boolean onMenuOpened(int featureId, Menu menu) {
if (featureId == Window.FEATURE_ACTION_BAR && menu != null) {
if (menu.getClass().getSimpleName().equals(\"MenuBuilder\")) {
try {
Method m = menu.getClass().getDeclaredMethod(\"setOptionalIconsVisible\", Boolean.TYPE);
m.setAccessible(true);
m.invoke(menu, true);
} catch (Exception e) {
}
}
}
return super.onMenuOpened(featureId, menu);
}
针对Menu菜单中选项的事件监听操作
/**
* menu菜单点击操作的监听事件
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case android.R.id.home:
//finish();
super.onBackPressed();
break;
case R.id.action_add:
Toast.makeText(this, \"添加\", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
自定义ActionBar
/**
* 初始化 ActionBar内容
* */
private ActionBar actionBar;
private void initActionBar(){
actionBar=super.getActionBar();
actionBar.show();
//显示Home区域
actionBar.setDisplayShowHomeEnabled(true);
//设置home区域回退按钮
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeAsUpIndicator(R.drawable.back_move_details_normal);
//不显示Home区域标题
actionBar.setDisplayShowTitleEnabled(true);//
actionBar.setTitle(\"新闻\");//设置title
//不显示Logo图片
actionBar.setDisplayUseLogoEnabled(false);//
//去除home区域的Icon图标【将icon颜色设置为透明】
Drawable colorDrawable=new
ColorDrawable(android.R.color.transparent);
actionBar.setIcon(colorDrawable);
//自定义区域
actionBar.setDisplayShowCustomEnabled(true);
TextView tvTitle=new TextView(this);//this,当前承载的
tvTitle.setText(\"新闻信息\");//tvTitle.setId();
tvTitle.setTextSize(25);
int colorVal=getResources().getColor(R.color.white);
tvTitle.setTextColor(colorVal);//tvTitle.setTextColor(Color.WHITE);
tvTitle.setGravity(Gravity.CENTER);
LayoutParams layoutParams=
new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
actionBar.setCustomView(tvTitle,layoutParams);
}
实现效果:
以上所述就是本文的全部内容了,希望大家能够喜欢。
本文地址:https://www.stayed.cn/item/2155
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我