zoukankan      html  css  js  c++  java
  • 自己定义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

  • 相关阅读:
    jvm调优核心思路
    G1 垃圾回收器
    类加载和内存区域划分
    jvm优化案例
    垃圾回收
    buffer pool详解
    InnoDb存储引擎执行流程
    mysql总体架构
    (转载)C#串口介绍以及简单串口通信程序设计实现
    C++文本操作(读写文本文件/二进制文件)
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5390785.html
Copyright © 2011-2022 走看看