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">
しかし、アプリを実行すると、アクションバーが表示されます。
アクションバーが表示されるのはなぜですか?私は明らかに間違ったことをしているのですか、それとも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);
}
}
次のようなものを試してください:
<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>
他の答えはどれもうまくいきませんでしたが、この解決策を見つけました:
開いた 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>
Android Studioでアクティビティを自動生成する場合は、_activity_welcome
_を確認してください。_Android.support.design.widget.AppBarLayout
_があります。削除すると、ActionBarは消えます。
レイアウトにアクションバーがある場合や、AndroidManifestファイルにテーマを設定する場合があります
WelcomeActivityがAppCompatActivityを拡張したら、Theme.AppCompat。 NoActionBar:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
</style>
まだ行っていない場合は、appcompatライブラリのバージョンをbuild.gradleに含めます。
dependencies {
compile 'com.Android.support:appcompat-v7:24.1.1'
}
以下を追加する必要があります
<item name="Android:windowFullscreen">true</item>
<item name="windowActionBar">false</item>
使用できます
Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen"
AppCompatの全画面テーマにアクセスできます
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>
AndroidManifest.xmlファイルを確認してください。メインテーマはアプリ用に設定されていることがわかりましたが、適用したいテーマを正しいアクティビティに追加する必要がありました。