我尝试用theme . apppat . light来移除工具栏下方的阴影。NoActionBar,使用了以前回答过这个问题的人的每一个建议,但是没有人成功。I tried
<item name="android:windowContentOverlay">@null</item>
和
<item name="android:windowContentOverlay">@drawable/solid_line</item> ....
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle">
<solid android:color="@color/accueil_color" />
<size android:height="15dp" />
</shape>
和
android:elevation="0dp"
阴影从屏幕顶部消失,但不会消失。
你有什么办法完全消除这条阴影线吗?
我不是专家,但就在几个小时前我遇到了同样的问题。所以这里的想法是,在AppCompat
中,我们必须管理库属性而不是Android属性。换句话说,不是android:elevation而是app:elevation:
<android.support.design.widget.AppBarLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:fitsSystemWindows="true"
app:elevation="0dp">
<android.support.v7.widget.Toolbar
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.AppBarLayout>
编辑:我刚刚尝试了另一个没有AppBarLayout
的选项。这种方法对我来说非常好,阴影完全消失了。所以我怀疑问题出在你的另一个观点上。我不认为这是你的ToolBar
掉落的影子。
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
app:elevation="0dp" />
使用app:elevation="0dp" instead of android:elevation
我也遇到了同样的问题。在android.support.design.widget.AppBarLayout
上应用app:elevation="0dp"
解决了这个问题
在AppBarLayout中添加app:elevation="0dp"
,影子将被隐藏。
我也遇到了同样的问题。
如果你的工具栏在android.support.design.widget.AppBarLayout
在android.support.design.widget.AppBarLayout
上添加app:elevation="0dp"将解决您的问题。
add app:elevation="0dp"
on Toolbar
.
<android.support.design.widget.AppBarLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:fitsSystemWindows="true"
app:elevation="0dp">
<android.support.v7.widget.Toolbar
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
希望有帮助
仅在super.onCreate(savedInstanceState);
if(getSupportActionBar() != null)
{
getSupportActionBar().setElevation(0);
}
只需将AppBarLayout
放在单独的XML文件中的LinearLayout
中,然后将此XML包含到主XML中。
@DmitryO
我的xml是这样的,我没有android.support.design.widget.AppBarLayout
,只有工具栏小部件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fab="http://schemas.android.com/apk/res-auto"
xmlns:materialdesign="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:theme="@style/AppThemeAccueil">
<View xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="@dimen/statusBarHeight"
android:background="@color/accueil_colorDark"
android:elevation="@dimen/statusBarElevation"/>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:popupTheme="@style/AppThemeAccueilToolbar"
android:theme="@style/AppThemeAccueilToolbar"
android:id="@+id/toolbarAccueil"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
materialdesign:elevation="0dp"
android:elevation="0dp"
android:outlineProvider="background"
android:layout_marginTop="@dimen/appBarTopMargin" >
</android.support.v7.widget.Toolbar>
</RelativeLayout>
我有这个吗?(我认为这不会改变结果)
如果你没有在布局中使用工具栏,并且你有AppCompactActivity
的默认工具栏,这可以帮助你
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().setElevation(0);
至少对我有用。
认为,
在Kotlin中使用:
supportActionBar!!.elevation = 0.0f
问候!