在横向模式下禁用标题栏

时间:2017-12-09 10:25:10

标签: android

Noob在这里,横向模式中的操作栏出现问题(想要保持纵向模式)。

我发布了我的清单xml文件样本,并在其他线程中尝试过该信息。

<?xml version="1.0" encoding="utf-8"?>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

my styles.xml

<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
    <!-- Primary theme color of the app (sets background color of app bar) -->
    <item name="colorPrimary">#ffcfcf</item>
    <!-- Background color of buttons in the app -->
    <item name="colorButtonNormal">#ff8383</item>
</style>

<style name="AppThemeNoActionBar" parent="AppTheme">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

来自我的land \ activity_main.xml的片段

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:style="@style/AppThemeNoActionBar">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/love3"
    android:scaleType="centerCrop"/>

...

我尝试将styles.xml中的parent从AppTheme更改为Theme.AppCompat.Light无效。

纵向布局xml没有android:style =&#34; @ style / AppThemeNoActionBar&#34;

任何指针都会很棒!

2 个答案:

答案 0 :(得分:2)

在setContentView

下面的onCreate函数中尝试此操作
    if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
        getSupportActionBar().hide();
    }

答案 1 :(得分:0)

你可以这样做,

if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
  getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
else {
  getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}