回答:
onCreate()
メソッドでこれを行います。
//Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//set content view AFTER ABOVE sequence (to avoid crash)
this.setContentView(R.layout.your_layout_name_here);
this
を指しActivity
ます。
あなたはあなたを変更することができますAndroidManifest.xml
:
<activity android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
またはandroid:theme="@android:style/Theme.Black.NoTitleBar"
、フルスクリーンのアクティビティが必要ない場合に使用します。
注:以前に「デフォルト」ビューを使用したことがある場合は、おそらく親クラスもからAppCompatActivity
に変更する必要がありますActivity
。
android:theme="@android:style/Theme.Black.NoTitleBar"
あなたがゲームを作っているのでない限り、おそらくもっと便利です
今、私は次のことをしました。
私は自分の一般的なスタイルからすべてを継承し、titleBarを無効にするスタイルを宣言しました。
<style name="generalnotitle" parent="general">
<item name="android:windowNoTitle">true</item>
</style>
これで、タイトルバーを非表示にしてアプリケーション全体のスタイルを上書きし、他のすべてのスタイル情報を継承するすべてのアクティビティにこのスタイルを設定できるため、スタイルコードの重複はありません。
特定のアクティビティにスタイルを適用するにはAndroidManifest.xml
、次の属性を開いてactivity
タグに追加します。
<activity
android:theme="@style/generalnotitle">
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
タイトルバーが短時間表示されてから消えるので、私は気に入らない。
またandroid:theme="@android:style/Theme.NoTitleBar"
、新しいデバイスのユーザーが慣れ親しんだ3.0以上のHoloの変更をすべて失ってしまったので、これも気に入らない。だから私はこの解決策に出くわしました。
あなたの中のres /値と呼ばれるファイル作成フォルダのstyles.xmlを(それが存在しない場合)。そのファイルに次のコードを配置します。
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Theme.Default" parent="@android:style/Theme"></style>
<style name="Theme.NoTitle" parent="@android:style/Theme.NoTitleBar"></style>
<style name="Theme.FullScreen" parent="@android:style/Theme.NoTitleBar.Fullscreen"></style>
</resources>
次に、別のstyles.xmlファイルを使用してres / values-v11を作成します(もう一度、これはすでに存在している可能性があります)。そのファイルに次のコードを配置します。
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Theme.Default" parent="@android:style/Theme.Holo"></style>
<style name="Theme.NoTitle" parent="@android:style/Theme.Holo.NoActionBar"></style>
<style name="Theme.FullScreen" parent="@android:style/Theme.Holo.NoActionBar.Fullscreen"></style>
</resources>
そして、4.0以上をターゲットにしている場合は、さらに別のstyles.xmlファイルを含むres / values-v14フォルダーを作成します(はい、すでにそこにある可能性があります)。そのファイルに次のコードを配置します。
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Theme.Default" parent="@android:style/Theme.Holo.Light"></style>
<style name="Theme.NoTitle" parent="@android:style/Theme.Holo.Light.NoActionBar"></style>
<style name="Theme.FullScreen" parent="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"></style>
</resources>
最後に、これらのすべてのファイルを作成したら、AndroidManifiest.xmlファイルを開き、コードを追加します。
android:theme="@style/Theme.NoTitle"
タイトルを付けないアクティビティのアクティビティタグ、またはアプリケーション全体に適用する場合はアプリケーションタグに追加します。
これで、ユーザーは、希望する画面レイアウトで、デバイスバージョンに関連付けられたテーマを取得します。
PS値をに変更しandroid:theme="@style/Theme.FullScreen"
ても同じ効果がありますが、通知バーも削除されます。
タイトルバーは、デベロッパーのAndroidページに記載されている2つの方法で削除できます。
でmanifest.xml
ファイル:
application
アプリ内のすべてのアクティビティから削除する場合は、以下を追加します。
<application android:theme="@android:style/Theme.Black.NoTitleBar">
または、特定のアクティビティの場合:
<activity android:theme="@android:style/Theme.Black.NoTitleBar">
正解は、おそらくActionbarActivityを拡張せず、Activityだけを拡張することです。
それでもactionbarアクティビティを使用している場合、これは機能しているようです:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide(); //<< this
setContentView(R.layout.activity_main);
}
これもうまくいくようです:
styles.xml:
<style name="AppBaseTheme" parent="Theme.AppCompat.Light" >
<item name="android:windowNoTitle">true</item> <!-- //this -->
</style>
スコット・ビッグスが書いたように、私は好きになることができました。この種の作品。テーマがないのを除いて。私は設定メニューの背景が透明であることを意味します:
ただ変える
public class MainActivity extends ActionBarActivity {
ActivityまたはFragmentActivityへ
public class MainActivity extends Activity {
ただし、マテリアルデザインを使用して十分に見栄えをよくし、アクションバーを削除しないようにすることができます。https://gist.github.com/shimondoodkin/86e56b3351b704a05e53
マテリアルデザインの互換性アクションバーのスタイル設定の例です。
私にとって何がうまくいくか:
1- styles.xml:
<style name="generalnotitle" parent="Theme.AppCompat.Light" >
<item name="android:windowNoTitle">true</item> <!-- //this -->
</style>
2- MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide(); //<< this
setContentView(R.layout.activity_main);
}
マニフェストではスタイルを継承します:
<activity android:name=".MainActivity" android:theme="@style/generalnotitle">
getSupportActionBar().hide();
onCreate(){}内で機能します
を使用しているthis.requestWindowFeature(Window.FEATURE_NO_TITLE)
場合、ユーザーが起動アニメーション中、アクティビティがを開始するまでの間、しばらくの間タイトルバーを表示できますonCreate
。@android:style/Theme.Black.NoTitleBar
以下に示すように使用すると、起動アニメーション中にタイトルバーは表示されません。
<activity
android:name=".MainActivity"
android:label="My App"
android:theme="@android:style/Theme.Black.NoTitleBar"
android:screenOrientation="portrait">
上記の例は、既存のテーマがある場合は、それを追加<item name="android:windowNoTitle">true</item>
して、明らかに既存のアプリケーションテーマをオーバーライドします。
私はこれらの高い賛成投票の回答をすべて使おうとすると、いつもアプリがクラッシュしました。(「@android:style」と関係があると思いますか?)
私にとっての最善の解決策は、以下を使用することでした:
android:theme="@style/Theme.AppCompat.NoActionBar"
ヘッダー/タイトルバーはもうありません。に配置する<application>...</application>
か<activity>...</activity>
、アプリ全体または特定のアクティビティで使用したい(望まない)かどうかに依存します。
の場合AppCompat
、次の解決策が私にとってうまくいきました:
styles.xml
とセットにアクションバーのない新しいテーマスタイルを追加しますparent="Theme.AppCompat.NoActionBar"
。
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimary</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowBackground">@color/colorPrimary</item>
</style>
次に、同じテーマスタイルをスプラッシュスクリーンアクティビティに実装します。 androidManifest.xml
<activity
android:name=".ActivityName"
android:theme="@style/SplashTheme"> // apply splash them here
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
これが結果です:
両方を使用するテーマに追加します。
<item name="windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
アプリケーションをクラッシュさせます。@ChrisAllinsonの意味するところかもしれません
このスタイルをstyle.xmlファイルに追加します
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
その後、次のように、タイトルバーを表示したくない特定のアクティビティで、このスタイル名をandroidManifest.xmlに参照します。
<activity android:name=".youractivityname"
android:theme="@style/AppTheme.NoActionBar">
</activity>
android:
コードの最初のブロックで名前の前にプレフィックスを忘れた:)
サポートウィジェットツールバーv7を使用しています。したがって、タイトルを削除または非表示にするには、これを記述する必要があります。
Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);
//Remove¡ing title bar
getSupportActionBar().setDisplayShowTitleEnabled(false);
または、任意の時点でタイトルバーを表示/非表示にする場合:
private void toggleFullscreen(boolean fullscreen)
{
WindowManager.LayoutParams attrs = getWindow().getAttributes();
if (fullscreen)
{
attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
}
else
{
attrs.flags &= ~WindowManager.LayoutParams.FLAG_FULLSCREEN;
}
getWindow().setAttributes(attrs);
}
私の場合、android studio 2.1を使用していて、コンパイルSDKのバージョンが6.0の場合、manifest.xmlファイルに移動して、次のコードを変更します。
これがコードです:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.lesterxu.testapp2">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.NoActionBar">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
これは私の問題を解決しました
マニフェストで私の活動:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".SplashScreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
「AppTheme」名の下のスタイル:
<resources>
<!-- Base application theme. -->
<style name="AppTheme"
parent="Theme.AppCompat.Light.NoActionBar">
**<item name="windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>**
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
タイトルとアクションバーの両方を非表示にするには、次のようにしました。
マニフェストのアクティビティタグ:
android:theme="@style/AppTheme.NoActionBar"
setContentViewの前のActivity.javaで:
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
つまり、
//タイトルバーを削除します
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//通知バーを削除します
this.getWindow()。setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN、WindowManager.LayoutParams.FLAG_FULLSCREEN);
注:これらの行を前に保持する必要がありますsetContentView
最初の答えは角閃石です。これが私の説明です:追加:
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
oncreate()メソッド内。
前:
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
(setContentViewの直前ではありません)これを行わないと、強制的にクローズされます。この回答を+1してください。
このエラーが発生する理由は2つあります。
1。ウィンドウフラグは内部super.onCreate(savedInstanceState);
で既に設定されています。この場合、次の順序のコマンドを使用できます。
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
二。TitleBar内に[戻る/上へ]ボタンがあります。つまり、現在のアクティビティは別のアクティビティの階層的な子です。この場合、このコード行をコメントアウトするか、onCreate
メソッド内から削除します。
getActionBar().setDisplayHomeAsUpEnabled(true);
これは、完全なコードがどのように見えるかです。android.view.Windowのインポートに注意してください。
package com.hoshan.tarik.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
}
}
このようなAndroidManifest.xmlのアクティビティにテーマ@ style / Theme.AppCompat.Light.NoActionBarを追加します
<activity
android:name=".activities.MainActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
</activity>