【问题标题】:Navigation Drawer Below Transparent Actionbar透明操作栏下方的导航抽屉
【发布时间】:2014-06-10 11:28:55
【问题描述】:

我使用@GunnarKarlsson 在此处显示的以下代码获得了一个透明的操作栏:Transparent Actionbar: custom tabcolor

getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
ActionBar actionBar = getActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#330000ff")));
actionBar.setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#550000ff")));

除了它对导航抽屉的影响之外,它几乎可以完美地工作。它不是直接从操作栏下方滑出,而是滑过它。 下面是两张图片来阐明我的意思。我试图弄清楚如何从第一张图像中实现导航抽屉的放置,但保留第二张图像上显示的透明度。有没有人遇到过类似的问题?

【问题讨论】:

    标签: android android-actionbar transparency navigation-drawer titlebar


    【解决方案1】:

    要实现这一点,您必须计算操作栏高度并将 marginTop 设置为导航抽屉。使用此方法计算操作栏高度:

     public static int CalculateActionBar(Context context){
            // Calculate ActionBar height
            TypedValue tv = new TypedValue();
            if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
    
               int mActionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics());
               return mActionBarHeight;
            }
            return 0;
        }
    

    然后从 java 设置 Margin Top 到您的导航抽屉对象。

    这样做您将在操作栏下方实现导航抽屉

    【讨论】:

    • ..或使用"?android:attr/actionBarSize" 指定XML 的大小。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多