카테고리 보관물: Android

Android

기존 사용자 정의 테마로 XML에서 활동의 제목 표시 줄을 숨기는 방법 활동에 스타일을

일부 활동에 대한 제목 표시 줄을 숨기고 싶습니다. 문제는 모든 활동에 스타일을 적용했기 때문에 테마를로 설정할 수 없다는 것 @android:style/Theme.NoTitleBar입니다.

NoTitleBar 테마를 내 스타일의 부모로 사용하면 모든 활동에서 제목 표시 줄이 제거됩니다.

제목 없음 항목을 어딘가에 설정할 수 있습니까?



답변

당신의 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.


답변

나는 이제 다음을 수행했다.

나는 일반적인 스타일에서 모든 것을 상속받는 스타일을 선언하고 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파일 :

  1. application앱의 모든 활동에 대해 다음 을 제거 하려면 다음을 추가하십시오 .

    <application android:theme="@android:style/Theme.Black.NoTitleBar">
  2. 또는 특정 활동의 경우 :

    <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

  1. 응용 프로그램의 아이콘을 설정
  2. 디자인에 맞게 작업 표시 줄의 색상을 설정하십시오.
  3. 아이콘을 설정 메뉴로 설정
  4. 더 많은 아이콘 추가 (버튼 상단)

머티리얼 디자인 호환성 액션 바 스타일링의 예입니다.


답변

나를 위해 일하는 것 :

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);
}
  1. 매니페스트에서 스타일을 상속합니다.

    <activity android:name=".MainActivity" android:theme="@style/generalnotitle">