android 在代码中设置样式,Android中ActionBar以及menu的代码设置样式

menu部分xml代码

android:title="搜索1"

android:orderInCategory="100"

android:showAsAction="always"/>

android:actionViewClass="android.widget.SearchView"

android:showAsAction="ifRoom|collapseActionView"

android:orderInCategory="100"

android:title="搜索2"/>

android:title="分享"

android:orderInCategory="100"

android:icon="@drawable/ic_action_favor_normal"

android:showAsAction="never"/>

android:title="收藏"

android:orderInCategory="100"

android:showAsAction="never"/>

android:title="字体大小"

android:orderInCategory="100"

android:showAsAction="never"/>

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);

}

实现效果:

2e3e99bf4950730c084d5bec4864d211.png

以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值