2016-12-08 2 views
0

Я пытаюсь сделать приложение, которое должно быть полноэкранным. Нет строки заголовка, нет панели действий, ничего. Простое приложение на экране.Проблема с полноэкранным действием

Я использовал различные подходы

1.Eg добавления этих строк в style.xml

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/> 
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/> 

2.Adding их в MainActivity:

requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

Non из них работают. Мое приложение падает, когда я использую любой из этих кодов.

+0

опубликуйте свои журналы об авариях! – AADProgramming

+0

Вы пробовали официальную документацию по этой теме? https://developer.android.com/training/system-ui/immersive.html – dominicoder

ответ

0

Полный экран тема:

<style name="FullScreenTheme" 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> 

Чтобы скрыть панель навигации (API 19+):

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    final int flags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
      | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
      | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
      | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
      | View.SYSTEM_UI_FLAG_FULLSCREEN 
      | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; 

    getWindow().getDecorView().setSystemUiVisibility(flags); 

    // Code below is to handle presses of Volume up or Volume down. 
    // Without this, after pressing volume buttons, the navigation bar will 
    // show up and won't hide 
    final View decorView = getWindow().getDecorView(); 
    decorView.setOnSystemUiVisibilityChangeListener(visibility -> { 
     if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { 
      decorView.setSystemUiVisibility(flags); 
     } 
    }); 
} 

@Override 
public void onWindowFocusChanged(boolean hasFocus) { 
    super.onWindowFocusChanged(hasFocus); 
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
      | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
      | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
      | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
      | View.SYSTEM_UI_FLAG_FULLSCREEN 
      | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 
} 
+0

Нужно ли мне добавлять оба этих кода? – Junaid

+0

Панель уведомлений теперь ушла, но программные клавиши все еще там – Junaid

+0

@Junaid код для скрытия навигационной панели работает только на Android API 19+ –

0

Используйте это в style.xml

<!-- No action and title bar --> 
<style name="NoActionTitleBar" parent="AppTheme"> 
    <item name="android:windowActionBar">false</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
</style> 
<style name="AppTheme.NoActionTitleBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    <item name="android:windowFullscreen">true</item> 

    <!-- You might not need this tho --> 
    <item name="colorControlNormal">@color/white</item> 
    <item name="colorControlActivated">@color/white</item> 
    <item name="colorControlHighlight">@color/white</item> 

</style> 

Добавить тему в активность в вашем андроиде, например, проверка ниже

<activity 
     android:name=".Launch" 
     android:noHistory="true" 
     android:screenOrientation="portrait" 
     android:theme="@style/AppTheme.NoActionTitleBar"> 
    </activity> 
0

Добавить ниже код после setcontentview()

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

Добавить ниже код в файл style.xml

<!--activity without actionbar--> 
    <style name="AppTheme.NoActionBar"> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
    </style> 

Добавить тему для perticular активности в файл манифеста:

android:theme="@style/AppTheme.NoActionBar" 

ex:

<activity 
      android:name=".xyzActivity" 
      android:theme="@style/AppTheme.NoActionBar"> 
</activity>