API21 + Toolbar
の使用:
// Toolbar
Toolbar toolbar = new Toolbar(this);
toolbar.showOverflowMenu();
その影を完全に削除したいです。 setElevation(0)
はすでに0
を返しているため、getElevation()
は何もしません。
マテリアルデザインのリファレンスがあります。
https://material.io/guidelines/layout/structure.html#structure-toolbars
開発参照があります:
https://developer.Android.com/reference/Android/widget/Toolbar.html
しかし、影に関連する情報は表示されません。 Toolbar
質問:Toolbar
シャドウを完全に削除/非表示にする方法は?
私は自分で解決策を見つけました:
getActionBar().setElevation(0);
詳細:
https://developer.Android.com/reference/Android/app/Activity.html#getActionBar()
ツールバーのapp:elevation="0dp"
の代わりにAndroid:elevation
を使用します。動作しない場合は、ツールバーをAppBarLayout
内に配置してapp:elevation="0dp"
を設定します。
<Android.support.design.widget.AppBarLayout
Android:id="@+id/appBarLayout"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
app:elevation="0dp">
...
</Android.support.design.widget.AppBarLayout>
Toolbar
またはAppBarLayout
に属性app:elevation="0dp"
を使用して、影を削除します。
#。Toolbar
のみを使用している場合は、Toolbar
に属性app:elevation="0dp"
を追加します。
<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"
app:elevation="0dp"/>
#。AppBarLayout
をToolbar
のコンテナとして使用している場合は、AppBarLayout
に属性app:elevation="0dp"
を追加します。
<Android.support.design.widget.AppBarLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:theme="@style/AppTheme.AppBarOverlay"
app:elevation="0dp">
<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>
出力:
UPDATE:
プログラムで削除したい場合は、以下のコードを使用できます:
getSupportActionBar().setElevation(0);
これが役立つことを願っています〜
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"
app:elevation="0dp">
</Android.support.design.widget.AppBarLayout>
"#000000"をtoolbarのbackgroundColorに設定します。CoordinatorLayoutおよびAppBarLayoutを使用する場合、contentViewのapp:layout_behavior="@string/appbar_scrolling_view_behavior"
を削除する必要があることに注意してください。この基本的な間違いを犯しました。
このコードを、Fragment
を非表示にするToolBar
に配置します。
@Override
public void onResume() {
super.onResume();
((AppCompatActivity)getActivity()).getSupportActionBar().setElevation(0);
}
ツールバーでAppbarLayoutを使用している場合は、AppBarレイアウトでAndroid:elevationの代わりにapp:elevation = "0dp"を使用できます