이 코드를 사용하여 벌집에서 작업 표시 줄을 숨길 수 있습니다.
getActionBar().hide();
그러나 키보드가 열리고 사용자가 아무 것도 복사하여 붙여 넣으면 작업 표시 줄이 다시 표시됩니다. 작업 표시 줄을 영구적으로 비활성화하려면 어떻게합니까?
이 코드를 사용하여 벌집에서 작업 표시 줄을 숨길 수 있습니다.
getActionBar().hide();
그러나 키보드가 열리고 사용자가 아무 것도 복사하여 붙여 넣으면 작업 표시 줄이 다시 표시됩니다. 작업 표시 줄을 영구적으로 비활성화하려면 어떻게합니까?
답변:
3.2 이전 장치 Theme.Holo.Light
에서 Theme.Holo.Light.NoActionBar
변형 을 사용하려는 경우 다음에 추가 할 수 있습니다 styles.xml
.
<style name="NoActionBar" parent="@android:style/Theme.Holo.Light">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
그런 다음 활동 테마로 설정하십시오.
<activity android:theme="@style/NoActionBar" ... />
<item name="android:windowFullscreen">true</item>
매니페스트에서 활동 테마를 설정하면
<activity
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
....
>
ActionBar
나를 위해 완전히 제거하는 유일한 것입니다 .
내 onCreate 함수 내에서 다음 코드를 사용합니다.
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
출처 : https://developer.android.com/guide/topics/ui/actionbar.html
actionBar 및 Title없이 전체 화면을 표시하려는 경우.
style.xml에 추가하십시오.
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
manifest.xml에서 스타일을 사용하십시오.
android:theme="@style/AppTheme.NoActionBar"
액션 바가없는 테마를 원한다면 'NoActionBar'변형을 사용할 수 있습니다. 기본 테마가 아래와 같다면
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
그럼 당신은 사용할 수 있습니다
<style name="AppThemeNoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
그러나 주요 테마, 즉 AppTheme의 속성을 유지하려면 다음과 같이 할 수 있습니다
<style name="AppThemeNoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
이 방법으로 기본 테마의 모든 속성을 유지할 수 있으며 NoActionBar 테마에 명시 적으로 추가 할 필요는 없습니다. :)
Holo 테마를 사용하지 않으면 작업 표시 줄이 사라집니다. 이 코드는 지원 lib v7과 함께 API 8 이상에서 작동합니다.
<style name="NoActionBar" parent="@style/Theme.AppCompat.Light">
<item name="android:windowNoTitle">true</item>
</style>
활동에 대한 테마를 설정하십시오.
<activity android:theme="@style/NoActionBar" ... />
그리고 당신의 활동 수업에서.
ActionBarActivity를 확장하더라도 작동합니다.
다음은 작업 표시 줄을 영구적으로 숨기는 단계입니다.
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
.이제 이름에 "NoActionBar"가 포함 된 다른 테마로 부모를 바꾸십시오.
ㅏ. activity_main.xml의 디자인 탭으로 전환 한 다음 UI의 테마 드롭 다운 목록에 제공된 각 테마를 사용해 테마가 어떻게 보이는지 확인할 수도 있습니다.
귀하의 경우 MainActivity가 확장 AppCompatActivity을 확실히 당신이 APPCOMPAT 테마를 사용합니다.
이 코드를 onCreate
메소드에 setContentView
다음과 같이 입력하십시오 .
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 0);
이것에 대한 디자이너 접근 방식을 게시하고 싶습니다. 이는 디자인을 비즈니스 로직과 별도로 유지합니다.
1 단계. (res-> values-> styles.xml)에 새 스타일을 만듭니다. 기본적으로 부모가 다른 전체 스키마의 복사본입니다-parent = "Theme.AppCompat.Light.NoActionBar"
<!-- custom application theme. -->
<style name="MarkitTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimary</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowNoTitle">true</item>
</style>
2 단계 : AndroidManifest.xml에서이 테마를 원하는 활동에 추가하십시오. 예 : 조치 표시 줄이없는 기본 활동을 원하므로 다음과 같이 추가하십시오.
<activity android:name=".MainActivity"
android:theme="@style/MarkitTheme">
이것은 많은 것을 시도한 후에 나에게 가장 적합한 솔루션입니다.
작업 표시 줄을 제거하면서 ViewPager를 유지하려는 또 다른 흥미로운 솔루션은 스타일을 표시하는 것입니다.
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:windowActionBarOverlay">true</item>
<item name="android:actionBarStyle">@style/NoActionBarStyle</item>
<item name="android:windowContentOverlay">@null</item>
</style>
<style name="NoActionBarStyle" parent="android:Widget.Holo.ActionBar">
<item name="android:backgroundSplit">@null</item>
<item name="android:displayOptions"></item>
</style>
이것은 안드로이드의 대부분의 다이얼러 응용 프로그램이 작업 표시 줄없이 ViewPager를 표시하는 방식입니다.
참조 : https://github.com/CyanogenMod/android_packages_apps_Dialer
이 솔루션을 사용합니다.
매니페스트의 활동 태그 내에서 :
android:label="@string/empty_string"
그리고 strings.xml에서 :
<string name="empty_string">""</string>
이렇게하면 제목과 함께 ActionBar (또는 툴바)를 유지하지만 활동이 생성되면 제목이 자동으로 비어 있습니다.
이상하게도 4.4.2 (API 19)를 실행하는 Nexus 7을 빌드 할 때 이들 중 어느 것도 나를 위해 일하지 않았습니다. 빈 활동 앱을 만든 후 최소한 최신 버전의 Android Studio (1.2.1.1)를 사용하는 경우 :
android : theme = "@ style / AppTheme"
활동 요소가 아닌 애플리케이션 요소에 있습니다. 위의 코드를 제거하거나 다음과 같이 변경하려고 시도한 경우 :
android : theme = "@ android : style / Theme.Holo.Light.NoActionBar"
앱이 실행되지 않습니다 ...이 문제가 발생하면 styles.xml 파일 (res> values> styles.xml)로 이동하여 .NoTitleBar를 다음 블록과 같이 부모의 끝에 추가하십시오.
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>
AndroidManifest 파일을 변경할 필요가 없습니다.
당신의에서 activity_main.xml
, 당신은 줄에 거기에서 조정할 수 있습니다 :
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
.......
android:theme="@style/Theme.Design.Light.NoActionBar"
.......
">
때때로 여기를 클릭하십시오 . 여기에서 "noActionBar"테마를 선택할 수 있습니다.
내가 당신을 도왔기를 바랍니다.