Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.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
Java 如何删除应用程序栏上方的阴影?_Java_Android_Xml_Statusbar_Appbar - Fatal编程技术网

Java 如何删除应用程序栏上方的阴影?

Java 如何删除应用程序栏上方的阴影?,java,android,xml,statusbar,appbar,Java,Android,Xml,Statusbar,Appbar,我想通过在style name=“AppTheme.NoActionBar”上的v21/styles.xml中添加@android:color/transparent使状态栏透明,但我一直在应用程序栏上方看到阴影,是否可以删除它 编辑: 好的,我认为解决方案是移动占据状态栏空间的应用程序栏,并将应用程序栏扩展一个附加dp以匹配其大小,因此我的问题是,是否可以向上移动或扩展应用程序栏高度 activity_search.xml <android.support.design.widget.A

我想通过在
style name=“AppTheme.NoActionBar”
上的v21/styles.xml中添加
@android:color/transparent
使状态栏透明,但我一直在应用程序栏上方看到阴影,是否可以删除它

编辑: 好的,我认为解决方案是移动占据状态栏空间的应用程序栏,并将应用程序栏扩展一个附加dp以匹配其大小,因此我的问题是,是否可以向上移动或扩展应用程序栏高度

activity_search.xml

<android.support.design.widget.AppBarLayout
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:theme="@style/MyMaterialTheme.AppBarOverlay">

     <android.support.v7.widget.Toolbar
          android:id="@+id/toolbar"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:background="?attr/colorPrimary"
          app:popupTheme="@style/MyMaterialTheme.PopupOverlay"/>

</android.support.design.widget.AppBarLayout>

<include layout="@layout/content_search"/>

将立面0dp添加到AppBarLayout

<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:elevation="0dp">

我相信这个问题也指向了同样的问题

可能的解决办法:

您的根布局应始终具有android:fitsSystemWindows=“true”
,否则您的UI将不会落后于状态栏

现在将
AppBarLayout
包装在另一个
CoordinatorLayout
中,该布局具有

android:fitsystemwindows=“false”


这将防止阴影溢出到状态栏。

使用所需的状态栏颜色在活动的onCreate中调用下面的方法

public void changeStatusBarColor(String hexColor)
  {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        Window window = getWindow();
        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        window.setStatusBarColor(Color.parseColor("#AD2525"));
    }
 }
XML



高于还是低于?如果上面是你的colorPrimaryDark@Bhargav是的,这是你的colorPrimaryDark属性,但是如果你要在它下面画一个导航抽屉,那么状态栏应该是transparent@Bhargav是的,我之所以想添加@android:color/transparent,是因为我接下来将实现一个导航抽屉。请在此处发布该布局的代码,但是否可以只删除应用程序栏上方的阴影,而不删除下面的部分?@brettbrdls,我认为该解决方案现在在AppCompat v24.0.0中不起作用。如果我的根布局是CoordinatorLayout呢?我尝试用另一个布局包装它,但在这种情况下,状态栏是白色的,而它应该是红色的(colorPrimaryDark),这与根布局无关。将AppBarLayout包装在协调布局中,并设置android:fitsystemwindows=“false”。CoordinatorLayout设计用于与appcompat元素进行特殊交互,因此它自动处理许多事情问题是,将appbar布局包装在另一个CoordinatorLayout中会破坏滚动视图行为,因此RecyclerView现在会覆盖appbar和所有内容。在我的特殊情况下,我试图让一个recyclerview在半透明的导航栏后面运行,而状态栏看起来不像垃圾,状态栏不在导航抽屉的顶部,等等。到目前为止,我尝试的所有操作都至少破坏了其中的一个。唯一有效的答案是。其他建议应用程序:elevation=“0dp”会破坏该对象。谢谢
<?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.example.bharath.myapplication.MainActivity">

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#AD2525"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">
    <!--
    Other views
    -->

</RelativeLayout></android.support.design.widget.CoordinatorLayout>
<com.google.android.material.appbar.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:elevation="0dp"
            android:theme="@style/AppTheme.AppBarOverlay">

            <androidx.appcompat.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="@color/colorPrimaryDark"
                app:popupTheme="@style/AppTheme.PopupOverlay"
                 />

 </com.google.android.material.appbar.AppBarLayout>