• android开发(33) 让 actionbar 透明2


     让 actionbar 的背景 透明

    我需要一个 透明的actionbar ,找到如下方法实现:

    1. 首先,设置ActionBar 浮动到主界面上来。

    2. 然后,设置ActionBar的背景色,透明或者半透明。

    那么如何实现这两步呢?

    第一步:

    代码实现: 在oncreate中:getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);

    使用theme 在style中实现: <item name="android:windowActionBarOverlay">true</item> 

    第二步:

    代码实现:

    ActionBar actionBar = getActionBar();
    actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#33000000")));
    //google的actionbar是分为上下两栏显示的,上面的代码只能设置顶部actionbar的背景色,
    //为了让下面的背景色一致,还需要添加一行代码:
    actionBar.setSplitBackgroundDrawable(new ColorDrawable(Color.parseColor("#33000000")));
            

    使用theme 在style中实现:

    <resources>
    
        <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
            <item name="android:windowActionBarOverlay">true</item> 
            <!-- 让actionbar漂浮 -->
            <item name="android:actionBarStyle">@style/my_actionbar_style</item>
        </style>
    
        <style name="my_actionbar_style" parent="@android:style/Widget.Holo.Light.ActionBar">
             <!-- 设置actionbar 背景色 透明 -->
            <item name="android:background">#33000000</item>
            <item name="android:backgroundStacked">#346c36</item>
            <item name="android:backgroundSplit">#33000000</item>
        </style>
    
    </resources>

    如何更改action的文本颜色?

     <style name="my_actionbar_style" parent="@android:style/Widget.Holo.Light.ActionBar">
    
            <!-- 设置actionbar 背景色 透明 -->
            <item name="android:background">#33000000</item>
            <item name="android:backgroundStacked">#346c36</item>
            <item name="android:backgroundSplit">#33000000</item>
            <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
        </style>
    
        <style name="MyActionBarTitleText" >
            <item name="android:textColor">@android:color/white</item>
        </style>
    

      

     如何获得 actionbar的高度?

        public static int getActionbarHeight(Activity context) {
             int actionBarHeight = 0;
             // Calculate ActionBar height
             TypedValue tv = new TypedValue();
             if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize,
             tv, true))
             {
             actionBarHeight =
             TypedValue.complexToDimensionPixelSize(tv.data,context.getResources().getDisplayMetrics());
             }
             return actionBarHeight;
        }
  • 相关阅读:
    firefox, chrome常见插件
    数据库左连接left join、右连接right join、内连接inner join on 及 where条件查询的区别
    Springmvc + mybatis + spring 配置,spring事物
    Android如何连接MySQL数据库
    Android MP3录音实现
    Android RecyclerView的基本使用
    Java输入流之BufferReader和Scanner的用法!
    Android 网络通信框架Volley简介
    your project contains error(s),please fix them before running your application.错误总结
    新建android项目报错,代码中找不到错误
  • 原文地址:https://www.cnblogs.com/vir56k/p/3953709.html
Copyright © 2020-2023  润新知