Android中ActionBar以及menu的代码设置样式
作者:hebedich 发布时间:2023-11-24 03:34:33
标签:Android,ActionBar
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);
}
实现效果:
以上所述就是本文的全部内容了,希望大家能够喜欢。


猜你喜欢
- 废话不多说,直接上代码,小伙伴们仔细看 * 释吧。/*简单的复制 剪切 粘贴 功能 操作: &nb
- 在Activity 添加即可getWindow().addFlags(WindowManager.LayoutParams.FLAG_SEC
- 事件的声明和使用与代理有很密切的关系,事件其实是一个或多个方法的代理,当对象的某个状态发生了变化,代理会被自动调用,从而代理的方法就被自动执
- 好程序员Java教程分享MyBatis Plus介绍:1.MyBatis Plus 介绍MyBatis Plus 是国内人员开发的 MyBa
- .sln:解决方案文件,为解决方案资源管理器提供显示管理文件的图形接口所需的信息。.csproj:项目文件,创建应用程序所需的引用、数据连接
- 二分查找二分查找算法,说白了就是在有序的数组里面给予一个存在数组里面的值key,然后将其先和数组中间的比较,如果key大于中间值,进行下一次
- BitArray的基础可以看菜鸟编程BitArray 类管理一个紧凑型的位值数组,它使用布尔值来表示,其中 true 表示位是开启的(1),
- 接上回上一篇我们简单介绍了基于SpringBoot实现简单的Web开发,本节来看Web开发中必不可少的内容—&m
- 本文实例讲述了Android游戏开发学习②焰火绽放效果实现方法。分享给大家供大家参考。具体如下:本节介绍在游戏开发中常用到的数学物理应用——
- Android Studio配置Kotlin开发环境详细步骤第一步:安装Kotlin插件打开Settings面板,找到Plugins选项,点
- 前言前天工作中遇到了这样一个问题,我在接口的参数封装了一个pojo,这是很常见的,当参数一多,惯性的思维就是封装一个pojo.那么在参数前有
- 这篇文章主要介绍了Java如何把数组转换为ArrayList,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 项目中有个要求,对上传服务器的图片大小进行判断,大于500k的图片要进行压缩处理,让其小于500k后在上传。可以通过java api的Ima
- 在微信公众号支付的API中没有这个接口,如果企业需要给用户转账,或者让用户提现或者给用户发红包等需要再商户平台中的产品中心分别开通。一、开通
- 效果:说明:获取本局域网的MAC地址(非本机的MAC地址)代码:/// <summary>
- 1. InputStream -> byte[]引入 apache.commons.is 包import org.apache.com
- AOP拦截Controller获取@PathVariable注解传入参数前言:最近项目中需要对controller传入的应用标识(appMa
- 关于ListView拖拽移动位置,想必大家并不陌生,比较不错的软件都用到如此功能了.如:搜狐,网易,百度等,但是相比来说还是百度的用户体验较
- 实践过程效果代码public partial class FrmGetColor : Form{ public F
- (注意:本文基于JDK1.8)前言增删改查,修改元素,Vector提供了3个方法,包括迭代器中的一个,不过本文只分析Vector自身的两个修