透明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;
    }
复制代码

 

posted @   zhaocundang  阅读(350)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示