透明ActionBar

本文介绍如何通过代码和样式文件设置Android应用中的ActionBar为透明背景,包括ActionBar高度的获取方法。


代码方式:
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
         //设置ActionBar 浮动到view 上层来
        requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); 
        //设置ActionBar 背景色 透明
        getActionBar().setBackgroundDrawable(new ColorDrawable(android.R.color.transparent));
       

style方式

<resources> <!-- Application theme. --> <style name="AppTheme" parent="android:Theme.Holo.Light"> <item name="android:windowActionBarOverlay">true</item> <item name="android:windowContentOverlay">@null</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">#00000000</item> <item name="android:backgroundStacked">#00000000</item> <item name="android:backgroundSplit">#00000000</item> </style> </resources>

http://www.cnblogs.com/xiaobo-Linux/ 小波Linux qq463431476

 private void showGlobalContextActionBar() {
        ActionBar actionBar = getActionBar();
        actionBar.setDisplayShowTitleEnabled(true);
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
        actionBar.setTitle(R.string.app_name);
        actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#00000000")));
      //google的actionbar是分为上下两栏显示的,上面的代码只能设置顶部actionbar的背景色,
      //为了让下面的背景色一致,还需要添加一行代码:
      actionBar.setSplitBackgroundDrawable(new ColorDrawable(Color.parseColor("#00000000")));
    }

 

//设置Action bar 背景颜色

  <style
      name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar"> 
      <item name="android:titleTextStyle">@style/TextAppearance.Holo.Widget.ActionBar.Title.Own</item>  
      <item name="android:background">#66cccc</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;
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值