2016-08-16 15 views
1

AppBarLayoutの標高を設定すると私のToolBarが消えます。ここにレイアウトがあります。AppBarLayoutの標高を設定するとツールバーが消えます

<android.support.design.widget.AppBarLayout 
    android:id="@+id/appbar" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/appbar_height" 
    app:elevation="0dp" 
    android:background="@color/transparent"> 

    <android.support.v7.widget.Toolbar 
     style="@style/ToolBarStyle" 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:elevation="0dp" 
     android:background="@drawable/backgorund_toolbar_tranluscent" 
     android:minHeight="@dimen/abc_action_bar_default_height_material" /> 
</android.support.design.widget.AppBarLayout> 

私はapp:elevationため0dp、0.1dpと4DPのような値を試してみました。ここで何が起こっていますか?サポートライブラリのバグですか?私は24.0.0を使用しています。

+0

を確認してください。[こちら](http://stackoverflow.com/q/37778309/437146)投稿者 – NightFury

+0

@NightFuryありがとうございます。それはそれを修正する。あなたが回答を投稿できるなら、私はそれを受け入れたものとして設定します。 –

答えて

2

新しいアップデート:Appcompat v24.0.0では、setElevation()とapp:elevationを使用して高度をAppBarLayoutに設定することはできません。

stateListAnimatorプロパティを使用して標高を設定する必要があります。

注:高度描画での遅延を避けるために、StateListAnimatorの持続時間を1msに設定してください。

AppBarLayout標高の変化は@Zeeshanから

+0

このメソッドは非推奨です。 ターゲット標高は現在廃止予定です。 AppBarLayoutの標高は、StateListAnimatorによって制御されるようになりました。このメソッドまたはapp:elevation attibuteのいずれかでターゲット標高が設定されている場合は、指定した標高値を使用する新しい状態リストアニメーターが作成されます。 –

+1

これは、ツールバー全体がどのように消えるかを説明していません。メソッドとattrが減価償却されていても動作するはずです。 –

3

回答は完全に右であるAPPCOMPAT v24.0.0に遅れています。

ここに余分が0にそれを設定することは働いていなかったので、私は0.1に高度を設定する必要がありました

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
      StateListAnimator stateListAnimator = new StateListAnimator(); 
      stateListAnimator.addState(new int[0], ObjectAnimator.ofFloat(appBarLayout, "elevation", 0.1f)); 
      appBarLayout.setStateListAnimator(stateListAnimator); 
} 

の作品のサンプルコードであるとして、全体のレイアウトが消えました。

関連する問題