studio - android toolbar教學




如何使用AppCompat.Light.NoActionBar刪除動作欄下方的陰影? (7)

@DmitryO Hum我的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>

我有這個嗎? (我認為這不會改變結果)

我嘗試使用Theme.AppCompat.Light.NoActionBar刪除工具欄下方的陰影,使用之前曾經回復過的人的每個推薦,但沒有人工作。 我試過了

<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"

陰影從屏幕頂部開始,但不會消失。

你有什麼想法完全刪除這個陰影線?


使用app:elevation="0dp" instead of android:elevation


只需將您的AppBarLayout放在一個單獨的XML文件的LinearLayout ,然後將此XML包含在您的主XML中。


在AppBarLayout中添加app:elevation="0dp" ,陰影將隱藏。


如果您沒有在佈局上使用工具欄,並且您擁有AppCompactActivity的默認工具欄,這可以幫助您

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

getSupportActionBar().setElevation(0);

至少它對我有用。

問候,


我不是專家,但幾個小時前我遇到了同樣的問題。 所以這裡的想法是,使用AppCompat我們必須管理庫屬性而不是Android屬性。 換句話說,而不是android:elevation try 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" />

我有同樣的問題。 在android.support.design.widget.AppBarLayout上應用app:elevation="0dp"解決了這個問題







toolbar