2016-05-10 11 views
-1

私のツールバーは、トランスパラントにする必要がありますが、1つのアクティビティ/フラグメントにのみ必要です。ツールバーを1つのアクティビティ/フラグメントでのみトランスペアレントにする

toolbar.getBackground().setAlpha(0); 

しかし、それは他のフラグメントのためにも、ツールバーを変更します。 私は、これはそれを行う方法であることを知っています。 1つのフラグメントに対してのみ適用可能な代替方法または方法がありますか?

私は戻ってすべての活動/フラグメント:

toolbar.getBackground().setAlpha(255); 

これが唯一の方法かですのツールバーのアルファを設定する必要があります。この方法は?

よろしく、

+0

ここにコードを記入してください –

答えて

0

あなたが使用できるテーマ:あなたのマニフェストに続いて

<style name="my.ToolbarActivity" parent="base"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowActionBarOverlay">false</item> 
    <item name="windowActionModeOverlay">false</item> 
</style> 

<style name="my.ToolbarActivity.Overlay" parent="my.ToolbarActivity"> 
    <item name="android:windowActionBarOverlay">true</item> 
    <item name="windowActionModeOverlay">true</item> 
</style> 

<style name="my.ToolbarActivity.Overlay.Transparent" parent="my.ToolbarActivity.Overlay"> 
    <item name="android:windowBackground">@android:color/transparent</item> 
</style> 

活動中のあなたのフラグメント制御フローを使用すると、標準のスイッチを持っているようなものである場合
<activity 
     android:name=".activity.TransparentActivity" 
     android:theme="@style/my.ToolbarActivity.Overlay.Transparent" 
     .... 
    </activity 
    <activity 
     android:name=".activity.OverlayActivity" 
     android:theme="@style/my.ToolbarActivity.Overlay" 
     ... 
    </activity> 
0

フラグメント関数は以下のように定義されており、かなりわかりやすい -

public void switchfragment(){ 
    switch(fragment_number){ 
     case 1: 
      hideActionBar() ; // or hideToolbar() as u want 
      return new Fragment1(); 
     case 2: 
      showActionBar(); //or showtoolbar() as u want 
      return new Fragment2(); 
} 

} 

私が一般的に避けているフラグメント内からフラグメントを切り換えようとしない限り、個別のフラグメント内からそれを設定しなければならないケースはありません。

関連する問題