Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 设置透明的操作栏,生成白色的操作栏_Android_Android Theme_Android Layout Weight - Fatal编程技术网

Android 设置透明的操作栏,生成白色的操作栏

Android 设置透明的操作栏,生成白色的操作栏,android,android-theme,android-layout-weight,Android,Android Theme,Android Layout Weight,我有一个活动,我希望它是操作栏透明的 我使用的是API级别18,我的活动是AppCompatActivity @Override protected void onCreate(Bundle savedInstanceState) { supportRequestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); super.onCreate(savedInstanceState); } 我在StackOverFlow上尝试了许多

我有一个
活动
,我希望它是
操作栏
透明的

我使用的是
API级别18
,我的活动是
AppCompatActivity

@Override
protected void onCreate(Bundle savedInstanceState) {
    supportRequestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
    super.onCreate(savedInstanceState);
}
我在StackOverFlow上尝试了许多解决方案,但它们似乎不起作用

这是我最近试过的

<!-- Application theme. -->
<style name="AppTheme.TransparentActionBar" parent="Theme.AppCompat.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>

    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ACTION BAR STYLES -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
    <item name="android:background">@android:color/transparent</item>
    <item name="android:windowActionBarOverlay">true</item>

    <!-- Support library compatibility -->
    <item name="background">@android:color/transparent</item>
    <item name="windowActionBarOverlay">true</item>
</style>
我的
活动\u login.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="@color/colorYellow"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".LoginActivity">

</RelativeLayout>

编辑 实际上,
ActionBar
是透明的。但contentView本身并不在它下面。如何将contentView放置在
操作栏下

public void setTransparentStatusBar() {
        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

            Window window = getWindow();
            if (window != null) {
                window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
                        WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

                window.getAttributes().flags &= (~WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            }
            window.setStatusBarColor(Color.parseColor("#00000000"));

        }
    }
在活动的
onCreate()
中调用此函数!它对我有用,我希望这对我有帮助


在活动的
onCreate()
中调用此函数!它对我有用,我希望这对我有帮助

找到了解决方案,这就是答案

这是用于
AppCompatActivity

@Override
protected void onCreate(Bundle savedInstanceState) {
    supportRequestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
    super.onCreate(savedInstanceState);
}

找到了解决办法,这就是答案

这是用于
AppCompatActivity

@Override
protected void onCreate(Bundle savedInstanceState) {
    supportRequestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
    super.onCreate(savedInstanceState);
}

你的代码运行得很好。。。你的“活动\登录”页面背景颜色是什么。注意:选中此项。此项:使用黄色it self作为actionbar背景或不透明度-如上述注释所示..你的代码工作正常。。。你的“活动\登录”页面背景颜色是什么?注意:勾选此项。此项:使用黄色it self作为actionbar背景或不透明度-如上述注释所示。。