自己定义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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • zencart模板列表下载地址

    zencart模板列表下载地址下载index.html文件后用浏览器打开,里面有一百多个zencart模板示例下载地址:zencart模板示例下载地址或者复制下面网址,用浏览器打开即可下载:http://bcs.duapp.com

    2022年7月2日
    25
  • python删除文本最后一行_用python删除文件中的最后一行

    python删除文本最后一行_用python删除文件中的最后一行如何用python删除文件的最后一行?输入文件示例:helloworldfoobar输出文件示例:helloworldfoo我创建了以下代码来查找文件中的行数,但是我不知道如何删除特定的行号。我是新来的python–所以如果有一个更简单的方法–请告诉我。try:file=open(“file”)exceptIOError:print”Failedtoreadfile.”cou…

    2022年5月18日
    44
  • 电流转电压几种电路

    电流转电压几种电路几种电流转电压变换的实现方法时间:2011-08-1914:28  作者:赛微编辑  来源:网络     介绍几种I/V变换的实现方法:  分压器方法   利用如图1分压电路,将电流通入电阻。在电阻上采样出电压信号。其中,可以使用电位器调节输出电压的大小。这种方法最简单,但需要考虑功率和放大倍数的选择问题。     霍

    2022年5月5日
    43
  • scp命令传文件–远程ip加端口号的方式[通俗易懂]

    scp命令传文件–远程ip加端口号的方式[通俗易懂]scp命令传文件–远程ip加端口号的方式

    2022年8月22日
    4
  • 在报关的过程中会不会出现两个商检

    在报关的过程中会不会出现两个商检问题:1、我刚接触报关,我想知道在报检后如果检验检疫局要商检,那么在接下来的报关过程中我们还会再要商检吗?2、还有我想知道法检是指哪些检验,三检和法检有什么区别,我知道三检包括商检那么法检报不包括呢?回答:1.只有报检手续都办好了,出具通关单后,凭通关单才可以报关。报关过程和商检已经没有关系了。报关中不存在两个商检。但是商检整个流程会分别在报关前后完成。所以,可能让你混淆以为是两个商检。

    2022年9月16日
    0
  • media type的类型汇总

    media type的类型汇总用的比较多的是screen和print:区分打印和屏幕显示(Android,iPhone都不是手持设备handheld,都是screen设备)转载于:https://www.cnblogs.com/hulaoxi/p/6140054.html

    2022年5月25日
    81

发表回复

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

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