0

在應用程序中,主屏幕上有工具欄,它具有適用於工具欄的樣式。使用片段作爲背景透明的對話框執行過渡效果。 現在,隱藏在使用工具欄/ actiobar下面的代碼NoTitleNoActionBar主題沒有隱藏工具欄/ ActionBar在Android中的片段?

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


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

} 現在,有了這個代碼,整個屏幕的背景上升如此跳躍屏幕略有上升,現在當關閉對話框再次重新出現。所以有什麼特定的方式來隱藏actionbar/toobar的particualr屏幕。現在,對於活動,很容易隱藏具有指定的主題的操作欄/工具欄;

<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); 
} 

仍存在同樣的問題。所以如何隱藏這樣的prolem的操作欄/工具欄?任何幫助讚賞。 謝謝。

+0

如果您調用Activity#setTheme,則應該重新創建它。所以你的代碼沒有效果。我認爲使用Activity#setTheme可能不是正確的方法。 – Kilnn

+0

@Kilnn什麼是正確的方式? – 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