web-dev-qa-db-ja.com

AppTheme.NoActionBarが機能しないのはなぜですか?

AndroidアプリをAndroid Studioで作成し、デフォルトでこれらのスタイルを作成しました:

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

ただし、アクティビティでは、これをテーマとして設定しようとします。

<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
   ...
Android:theme="@style/AppTheme.NoActionBar">

しかし、アプリを実行すると、アクションバーが表示されます。

enter image description here

アクションバーが表示されるのはなぜですか?私は明らかに間違ったことをしているのですか、それともAndroid Studio、Googleの公式IDE開発者を混乱/誤解させようとする独自のプラットフォームですか?

これが私のアクティビティコードです。アクションバーを単独で表示する原因となるものは何もありません。

public class WelcomeActivity extends AppCompatActivity {
    @Override
    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
        super.onCreate(savedInstanceState, persistentState);
        setContentView(R.layout.activity_welcome);
    }
}
19
Can Poyrazoğlu

次のようなものを試してください:

<style name="AppTheme.NoActionBar">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="Android:windowFullscreen">true</item>
    <item name="Android:windowContentOverlay">@null</item>
  </style>

これをマニフェストのアクティビティのテーマとして設定します。つまり、

<activity
    ...
    Android:theme="@style/AppTheme.NoActionBar">
</activity>
44
Mehmet K

他の答えはどれもうまくいきませんでしたが、この解決策を見つけました:

開いた values/styles.xml in Android Studioおよびこれを変更:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

に:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- changed .DarkActionBar to .NoActionBar -->
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
8
trinity420

Android Studioでアクティビティを自動生成する場合は、_activity_welcome_を確認してください。_Android.support.design.widget.AppBarLayout_があります。削除すると、ActionBarは消えます。

4
tomaset22

レイアウトにアクションバーがある場合や、AndroidManifestファイルにテーマを設定する場合があります

3
GetRealRenz

WelcomeActivityAppCompatActivityを拡張したら、Theme.AppCompat。 NoActionBar

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
</style>

まだ行っていない場合は、appcompatライブラリのバージョンをbuild.gradleに含めます。

dependencies {
    compile 'com.Android.support:appcompat-v7:24.1.1'
}
1
Denis

以下を追加する必要があります

<item name="Android:windowFullscreen">true</item>
<item name="windowActionBar">false</item>

使用できます

 Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen"

AppCompatの全画面テーマにアクセスできます

0
IntelliJ Amiya

manifest.xmlでこのテーマを使用する必要があります。

 <application
        Android:allowBackup="true"
        Android:icon="@mipmap/ic_launcher"
        Android:label="@string/app_name"
        Android:roundIcon="@mipmap/ic_launcher_round"
        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>

そしてstyles.xmlで:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>
0
Taras Okunev

AndroidManifest.xmlファイルを確認してください。メインテーマはアプリ用に設定されていることがわかりましたが、適用したいテーマを正しいアクティビティに追加する必要がありました。

0
Kristelle