自己定义Actionbar

自己定义Actionbar

大家好,又见面了,我是全栈君。

近期在项目中大量使用actionbar,所以把自己定义的一些属性总结一下。

效果例如以下:
这里写图片描写叙述
1、自己定义actionbar
在theme的style中设置

<item name="android:actionBarStyle">@style/CustomActionBar</item>
    <!-- actionbar样式 -->
    <style name="CustomActionBar" parent="@android:style/Widget.Holo.ActionBar"> <item name="android:background">#fb6029</item> <item name="android:displayOptions">showTitle</item> <item name="android:titleTextStyle">@style/TitleSytle</item> </style>

2、自己定义返回button图标

   <item name="android:homeAsUpIndicator">@drawable/navbar_back</item>

3、自己定义标题样式
这个须要设置actionbar的属性android:titleTextStyle

    <style name="TitleSytle" parent="@android:style/TextAppearance.Large">
        <item name="android:textColor">@android:color/white</item>
        <item name="android:textSize">19sp</item>
        <item name="android:layout_marginLeft">5dp</item>
    </style>

4、item字体设置

<item name="android:itemTextAppearance">@style/itemTextStyle</item>
    <style name="itemTextStyle">
        <item name="android:textColor">@android:color/holo_blue_bright</item>
    </style>

5、自己定义overflowbutton图标

  <item name="android:actionOverflowButtonStyle">@style/OverflowButtonStyle</item>
    <style name="OverflowButtonStyle"> <item name="android:src">@drawable/actionbar_add_icon</item> </style>

6、设置overflow的item显示文字和图标
menu

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.example.edittextdemo.MainActivity" >

    <item
        android:id="@+id/action_add_friend"
        android:icon="@drawable/menu_add_icon"
        android:title="@string/menu_addfriend"/>
    <item
        android:id="@+id/action_scan"
        android:icon="@drawable/men_scan_icon"
        android:title="@string/menu_scan"/>
    <item
        android:id="@+id/action_feedback"
        android:icon="@drawable/menu_feedback_icon"
        android:title="@string/menu_feedback"/>

</menu>

还须要重写onMenuOpened方法

    @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)
                {
                    e.printStackTrace();
                }
            }
        }

        return super.onMenuOpened(featureId, menu);

    }

下载源代码:http://download.csdn.net/detail/zhong1113/8765119

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115341.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python数据库操作之sqlalchemy逆向工程

    python数据库操作之sqlalchemy逆向工程依赖安装pipinstallsqlacodegen数据库配置config.pyimportosHOST=’localhost’PORT=3306USERNAME=’root’PASSWORD=’root’DB=’demo’DB_URI=f’mysql+pymysql://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DB}’#自动生成modelsos.system(f’sqlacodegen{DB_URI}

    2022年6月22日
    36
  • winrar去广告的方法_mt管理器去广告教程

    winrar去广告的方法_mt管理器去广告教程一、前言1.1Winrar解压缩工具市场上有很多优秀的压缩工具,常用的有Winrar和360压缩工具。Winrar是免费压缩工具,特色是每次使用都会弹出广告。影响用户体验和工作效率,当然最

    2022年8月2日
    13
  • java 静态变量 存储_java中,类的静态变量如果是对象,该对象将存储在内存的哪个区域?…

    java 静态变量 存储_java中,类的静态变量如果是对象,该对象将存储在内存的哪个区域?…静态变量所引用的实例位于Java堆或运行时常量池。Java字节码与Native机器码不同,字节码是运行在JVM这一平台上的,字节码在被解释的过程中,具体的执行方式因JVM的不同实现而不同,但是对于JVM来说,它的各种不同实现都必须要遵循Java虚拟机规范。JVM的运行时数据区包含以下部分:1、PC寄存器每一条Java虚拟机线程都有自己的PC寄存器,如果正在被线程执行的当前方法不是native的,那…

    2022年4月28日
    47
  • Latex插入图片并固定图片位置

    Latex插入图片并固定图片位置首先导入宏包:\usepackage{graphicx}\usepackage{float}然后可以设置图片的路径\graphicspath{{pic/}}然后使用:\begin{figure}[H]%这四个字母可以出现一个或多个:htbp代表图片插入位置的设置\centering%图片居中\includegraphics[height=10cm,width=10cm]{图片位置.png}\caption{图片的标题}\end{figure}

    2022年5月7日
    310
  • python做微信回复机器人_python聊天机器人代码

    python做微信回复机器人_python聊天机器人代码下面这个小文章适合初学Python的童鞋哦~~~一个很好用的微信库:itchat拿使用图灵机器人设置自动回复,让机器人跟微信好友傻傻的聊天,机器人比小编还会聊天,无论是对美眉还是汉纸,上来就是爱!爱!爱!简直太辣眼睛!!!用它进行来调戏微信好友,简直6的一笔!(记住一条!千万不能对女票使用,遭遇一万点伤害)好啦,下面就来一起看一下如何使用吧!使用工具:itchat,req…

    2022年9月28日
    2
  • JavaScript 数组排序函数sort()的使用

    JavaScript 数组排序函数sort()的使用简介  sort()方法是js中对于数组进行排序的函数。其可以方便快捷的实现对于数组的排序而不用我们自己编写排序方法。注:sort()函数会直接改变原数组。1.纯字符串数组排序letmyArray=[“people”,”person”,”apple”,”ziv”]console.log(myArray.sort())//打印结果[‘apple’,’people’,’person’,’ziv’]  其对于字符串数组直接按照字典顺序进行排序。注意:大小写字母也会影响排序结果,大

    2022年5月20日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号