0

メイン画面にはツールバーがあり、ツールバーにスタイルが適用されています。背景を透明にしたダイアログとして動作するフラグメントを使用してトランジションエフェクトを実行する。 は今、それはダイアログクローズするとき、画面全体では多少、現在の画面をジャンプアップ、バックグラウンドで上がるこのコードで、今のコードNoTitleNoActionBarテーマはAndroidのツールバー/アクションバーをフラグメントに隠していませんか?

public void onStop() 
{ 
    super.onStop(); 
    ((AppCompatActivity)getActivity()).getSupportActionBar().show(); 
} 


@Override 
public void onResume() 
{ 
    super.onResume(); 
    ((AppCompatActivity)getActivity()).getSupportActionBar().hide(); 

} 次使用ツールバー/ actiobarを非表示にするには、もう一度再表示されます。それで、特定の画面のためにアクションバー/ツーバーを隠す特別な方法があります。さて、アクティビティでは、テーマを指定してアクションバー/ツールバーを隠すのは簡単です。

<style name="Theme.project.NoTitleNoActionBar" parent="Theme.project"> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowActionBar">false</item> 
     <item name="android:windowIsTranslucent">true</item> 
     <item name="android:windowBackground">@android:color/transparent</item> 
</style> 

ただし、フラグメントに適用すると、次の行を使用してエフェクトセットのテーマは表示されません。

@Override 
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) 
{ 
    getActivity().setTheme(R.style.Theme_project_NoTitleNoActionBar); 
    return super.onCreateView(inflater, container, savedInstanceState); 
} 

なお、同じ問題が存在します。どのようにそのようなプロンプトのためのアクションバー/ツールバーを非表示にするのですか?どんな助けもありがたい。 ありがとうございます。

+0

アクティビティ#setThemeを呼び出すと、それを再作成する必要があります。だからコードは効果がありません。そして、私はActivity#setThemeを使うのが正しい方法ではないと思います。 – Kilnn

+0

@キルン何が正しいことができますか? – Swift

答えて

0

valuesフォルダ内のstyles.xmlファイルに移動し、親タグをTheme.AppCompat.Light.NoActionBarとして追加します。同じものの次のコードを参照してください

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 
+0

すべてのアイテムに色の変化が含まれているのはなぜですか?私は特定の画面からツールバー/アクションバーを非表示にする必要がありますか?まだそれを試してみます、ありがとう – Swift

+0

働いていない仲間。 – Swift

関連する問題