我通过使用@GunnarKarlsson 在此处显示的以下代码获得了一个透明的 Actionbar: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")));

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

最佳答案

为此,您必须计算操作栏高度并将 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 到您的抽屉导航对象。

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

10-08 18:23