アプリに異なるActivities
がありますが、それらすべてでAction Bar
は必要ありません。無効にする方法が見つかりません。 main_activity.xml
に適用する属性を見つけようとしましたが、これまでのところ何も見つかりませんでした。誰かが私を助けてくれますか?
ハハ、私も少し前にその時点で立ち往生しているので、少なくとも私のために働いた解決策であなたを助けることができてうれしいです:)
あなたがしたいことは、values/styles.xml内で新しいスタイルを定義することです
<resources>
<style name = "AppTheme" parent = "Android:Theme.Holo.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
<style name = "NoActionBar" parent = "@Android:style/Theme.Holo.Light">
<item name = "Android:windowActionBar">false</item>
<item name = "Android:windowNoTitle">true</item>
</style>
</resources>
NoActionBarスタイルのみが魅力的です。最後に、AndroidManifest.xmlでアプリケーションのテーマとして設定する必要があるため、次のようになります。
<application
Android:allowBackup = "true"
Android:icon = "@drawable/ic_launcher"
Android:label = "@string/app_name"
Android:theme = "@style/NoActionBar" <!--This is the important line-->
>
<activity
[...]
これがお役に立てば幸いです。
これを行うには複数の方法があります。
Application要素の下に、テーマタグがあります。これと交換してください-
Android:theme="@Android:style/Theme.NoTitleBar"
AppCompatを使用している場合は、@Android:style/Theme.AppCompat.NoActionBar
を使用します。
これにより、すべてのアクティビティのテーマが設定されます。特定のアクティビティでアクションバーが必要ない場合は、アクティビティコンテナでテーマを設定します。つまり、
<activity Android:theme="@Android:style/Theme.NoTitleBar" ...>
スタイルでAndroid:theme="@Android:style/Theme.NoTitleBar"
テーマを設定し、後で使用することもできます。
これをres/values/styles.xml
に追加します
<style name="NoActionBar" parent="@Android:style/Theme.Holo.Light">
<item name="windowActionBar">false</item>
<item name="Android:windowNoTitle">true</item>
</style>
そして、それをマニフェストでアクティビティのテーマとして設定します。
<activity Android:theme="@style/NoActionBar" ... />
このコードをonCreate
メソッドに入れますコンテンツビューを設定する前に-
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
getActionBar().hide();
サポートライブラリを使用している場合は、getSupportActionBar()
を使用します。
誰もがここにActionBarを隠す古い方法を投稿していることを考えると、AppCompatサポートライブラリのスタイル内でそれを実装する適切な方法です。まだお持ちでない方は、これをお勧めします。
ActionBarを単に削除する
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
</style>
Appcompatサポートライブラリを使用している場合は、これがActionBarを非表示にして、フルスクリーンにするか、レイアウト内のツールバーへの実装を開始する最も簡単で推奨される方法です。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Your Toolbar Color-->
<item name="colorPrimary">@color/primary</item>
<!-- colorPrimaryDark is used for the status bar -->
<item name="colorPrimaryDark">@color/primary_dark</item>
<!-- colorAccent is used as the default value for colorControlActivated,
which is used to tint widgets -->
<item name="colorAccent">@color/accent</item>
<!-- You can also set colorControlNormal, colorControlActivated
colorControlHighlight, and colorSwitchThumbNormal. -->
</style>
次に、ツールバーの色を変更します
<Android.support.v7.widget.Toolbar
Android:id=”@+id/my_awesome_toolbar”
Android:layout_height=”wrap_content”
Android:layout_width=”match_parent”
Android:minHeight=”?attr/actionBarSize”
Android:background=”?attr/primary” />
最後のメモ:ActivityクラスはAppCompatActivityを拡張する必要があります
public class MainActivity extends AppCompatActivity {
<!--Activity Items -->
}
AppCompat
を使用している場合は、次のようにAndroidManifest.xml
でアクティビティを宣言します。
<activity
Android:name=".SomeActivity"
...
Android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
マニフェストを開き、属性theme = "@ style/Theme.AppCompat.Light.NoActionBar"をactionbarなしで必要なアクティビティに追加します。
<application
...
Android:theme="@style/AppTheme">
<activity Android:name=".MainActivity"
Android:theme="@style/Theme.AppCompat.Light.NoActionBar">
...
</activity>
</application>
Res/value/style.xmlで取得するデフォルトのスタイル
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
アクティビティタグのように、以下のように、
Android:theme="@style/AppTheme.NoActionBar"
私はできるだけ簡単にそれを見せようとします:
Android MAINIFESTファイルでフルスクリーンアクティビティを宣言:
<activity
Android:name=".GameActivity"
Android:label="@string/title_activity_game"
Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen">
Androidスタジオ(使用している場合)で、アクティビティXMLファイル(この例ではactivity_game.xml)をデザイナーで開き、テーマを選択します(デザイナーの携帯電話の上にある小さな円のボタンをクリック)。左側のテーマ、次にNoTitleBar.Fullscreen。
それが役立つことを願っています!
ほとんどのアクティビティにアクションバーを持たせる場合は、おそらくデフォルトテーマから基本テーマを継承します(これはデフォルトで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>
次に、バーレスアクティビティに特別なテーマを追加します。
<style name="AppTheme.NoTitle" parent="AppTheme">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="actionBarTheme">@null</item>
</style>
私にとっては、actionBarThemeを@ nullに設定することが解決策でした。
最後に、マニフェストファイルでアクティビティを設定します。
<activity ... Android:theme="@style/AppTheme.NoTitle" ... >
Styles.xmlでデフォルトのテーマを見つけてください
<!-- 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>
そして、このように親を変更します
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">