android开发分享AppCompat的全屏主题

我想知道如何将全屏主题(无标题栏+无操作栏)应用于活动。 我正在使用支持包v7中的AppCompat库。

我试图应用android:theme="@android:style/Theme.NoTitleBar.Fullscreen"到我的具体活动,但它崩溃。 我认为这是因为我的应用程序主题是这样的。

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 

我也试过这个

 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

只隐藏标题栏而不是操作栏。 我目前的解决方法是隐藏操作栏

 getSupportActionBar().hide(); 

    在应用程序中使用Theme.AppCompat时,可​​以通过将以下代码添加到样式来使用FullScreenTheme。

     <style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light"> <item name="android:windowNoTitle">true</item> <item name="android:windowActionBar">false</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> </style> 

    也在你的清单文件中提到。

     <activity android:name=".activities.FullViewActivity" android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen" /> 

    根据@nebyan的回答,我发现操作栏仍然没有隐藏。

    以下代码适用于我:

     <style name="AppFullScreenTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowNoTitle">true</item> <item name="android:windowActionBar">false</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> </style> 

     <style name="Theme.AppCompat.Light.NoActionBar" parent="@style/Theme.AppCompat"> <item name="android:windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> </style> 

    在style.xml中使用上面的xml,你将能够隐藏标题以及操作栏。

    Android 4.0(API级别14)版本之前和之后出现的问题

    从这里..

     @SuppressLint("NewApi") @Override protected void onResume() { super.onResume(); if (Build.VERSION.SDK_INT < 16) { // Hide the status bar getWindow().setFlag(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); // Hide the action bar getSupportActionBar().hide(); } else { // Hide the status bar getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); / Hide the action bar getActionBar().hide(); } } 

    我在onResume()方法中写这段代码,因为如果你退出你的应用程序,然后重新打开它,那么操作栏将保持活动状态! (所以这解决了这个问题)

    我希望这是有帮助的;)

    你的“解决方法”(隐藏自己的actionBar)是正常的方法。 但谷歌推荐总是隐藏标题栏隐藏时的ActionBar。 看看这里: https : //developer.android.com/training/system-ui/status.html

    你可以按照下面的步骤:

    AndoridMenifest.xml

     <activity android:name=".ui.FullImageActivity" android:label="@string/title_activity_main" android:screenOrientation="landscape" android:theme="@style/DialogTheme"> </activity> 

    Style.xml

     <style name="DialogTheme" parent="android:Theme.Dialog"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">fill_parent</item> <!-- No backgrounds, titles or window float --> <item name="android:windowNoTitle">false</item> <item name="android:windowFullscreen">true</item> <item name="android:windowIsFloating">false</item> </style> 

    FullImageActivity.java

     @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); setContentView(R.layout.image_view); } 

    我希望它会帮助..谢谢!

     protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //to remove "information bar" above the action bar getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //to remove the action bar (title bar) getSupportActionBar().hide(); } 

     requestWindowFeature(Window.FEATURE_NO_TITLE); 

    在AppCompat中删除标题栏:

      @Override protected void onCreate(Bundle savedInstanceState) { supportRequestWindowFeature(Window.FEATURE_NO_TITLE); super.onCreate(savedInstanceState); } 

     <style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> 

    只是这个 ?

     <style name="Theme.AppCompat.Light.NoActionBar.FullScreen"> <item name="android:windowFullscreen">true</item> </style> 

    这个主题只适用于API 21(含)。 并使StatusBar和NavigationBar都是透明的。

     <style name="TransparentAppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:navigationBarColor">@android:color/transparent</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowContentOverlay">@null</item> </style> 

    只要在这个家伙你的风格:

     <style name="AppTheme" parent="@style/Theme.AppCompat.Light"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> </style> 

      以上就是android开发分享AppCompat的全屏主题相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/addevelopment/523361.html

      (0)
      上一篇 2020年12月11日
      下一篇 2020年12月11日

      精彩推荐