답변:
당신의 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 변경 사항을 모두 잃어 버렸기 때문에 마음에 들지 않습니다 . 그래서이 솔루션을 보았습니다.
당신에 고해상도 / 값 라는 파일을 만들 폴더 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 페이지에 언급 된대로 제목 표시 줄을 두 가지 방법으로 제거 할 수 있습니다.
에서 manifest.xml
파일 :
application
앱의 모든 활동에 대해 다음 을 제거 하려면 다음을 추가하십시오 .
<application android:theme="@android:style/Theme.Black.NoTitleBar">
또는 특정 활동의 경우 :
<activity android:theme="@android:style/Theme.Black.NoTitleBar">
정답은 아마도 ActionbarActivity를 확장하는 것이 아니라 Activity 만 확장하는 것입니다.
여전히 작업 표시 줄 활동을 사용하면 이것이 작동하는 것 같습니다.
@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>
Scott Biggs가 쓴 것처럼 나는 할 수 있었다. 이런 종류의 작품. 테마가 없다는 것을 제외하고. 설정 메뉴의 배경이 투명하다는 것을 의미합니다.
그냥 변경
public class MainActivity extends ActionBarActivity {
활동 또는 FragmentActivity
public class MainActivity extends Activity {
그러나 소재 디자인을 사용하여 충분히 좋아 보이고 작업 표시 줄을 제거하지 않을 수 있습니다 : https://gist.github.com/shimondoodkin/86e56b3351b704a05e53
머티리얼 디자인 호환성 액션 바 스타일링의 예입니다.
나를 위해 일하는 것 :
styles.xml에서 1- :
<style name="generalnotitle" parent="Theme.AppCompat.Light" >
<item name="android:windowNoTitle">true</item> <!-- //this -->
</style>
MainActivity에서 2
@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>
그 후이 스타일 이름을 다음과 같이 제목 표시 줄을보고 싶지 않은 perticular 활동의 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하십시오.
이 오류가 발생할 수있는 두 가지 이유를 발견했습니다.
하나. Window 플래그는 이미 설정되어 super.onCreate(savedInstanceState);
있으며,이 경우 다음 순서의 명령을 사용할 수 있습니다.
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
두. 제목 표시 줄 안에 뒤로 / 위로 단추가 있습니다. 즉, 현재 활동은 다른 활동의 계층 적 하위 항목입니다.이 경우 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);
}
}