Android 활동이 대화 상자로 표시되지만 제목 표시 줄이 없음
다음과 같은 테마가 설정된 활동이 있습니다.
android:theme="@android:style/Theme.Dialog"
그러나 표시되는 활동 대화 상자에는 사용 가능한 공간을 거의 사용하지 않는 제목 표시 줄이 있습니다. 어떻게 제거 할 수 있습니까?
일을 시도 requestWindowFeature(Window.FEATURE_NO_TITLE);
에 onCreate
. 전화를 건 직후 super.onCreate
와 setContentView
.
를 사용하는 사람들의 AppCompatActivity
경우 위의 답변이 작동하지 않을 수 있습니다.
이 시도
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
직전 setContentView(R.layout.MyDialogActivity);
자신 만의 테마를 정의 할 수 있습니다.
<style name="NoTitleDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
</style>
(@Rehan에 대한 팁) 호환성 라이브러리를 사용하는 경우 AppCompat
상위 테마를 선택 하고 android:
접두사 를 생략해야 합니다. 예를 들면 :
<style name="NoTitleDialog" parent="@style/Theme.AppCompat.Dialog">
<item name="windowNoTitle">true</item>
</style>
모든 것을 AppCompatActivity
강제로 사용하는 경우 다음을 사용 Theme.AppCompat.xxx
하여 대화 상자 제목 또는 작업 표시 줄을 제거 할 수 있습니다 styles.xml
.
<style name="Theme.MyDialog" parent="Theme.AppCompat.Light.Dialog">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
name="windowActionBar"
대신 , 사용에 유의하십시오 name="android:windowActionBar"
.
AppCompatActivity를 사용하는 경우 requestWindowFeature (Window.FEATURE_NO_TITLE)가 작동하지 않습니다.
이를 위해 다음과 같이 values / style.xml에 사용자 지정 테마를 만들 수 있습니다.
<style name="NoTitleDialog" parent="Theme.AppCompat.Dialog.Alert">
<item name="windowNoTitle">true</item>
</style>
항목 이름 : "windowNoTitle"항목 이름이 아님 : "android : windowNoTitle"
menifest.xml에서이 사용자 정의 테마를 다음과 같이 적용하십시오.
<activity android:name=".activity.YourActivity"
android:theme="@style/NoTitleDialog"/>
또는 getSupportActionBar (). hide () 를 사용하여 작업 표시 줄을 프로그래밍 방식으로 숨길 수 있습니다.
이것은 appcompat에서 나를 위해 일했습니다.
<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
대화 상자의 경우 다음과 같이 할 수 있습니다.
Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
이것은 나를 위해 일했습니다.
제목을 비활성화 할 수있었습니다
style.xml
<style name="AppDialogScreenTheme" parent="Base.Theme.MaterialComponents.Light.Dialog">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
AndroidManifest.xml
<activity
android:name=".MyActivity"
android:theme="@style/AppDialogScreenTheme">
</activity>
이것은 나를 위해 작동하며 누군가에게도 도움이 될 수 있습니다.
style.xml
<style name="NoTitleActivityDialog" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="windowNoTitle">true</item>
</style>
AndroidManifest.xml
<activity
android:name=".DialogActivity"
android:theme="@style/NoTitleActivityDialog"/>
참고URL : https://stackoverflow.com/questions/6325018/android-activity-as-dialog-but-without-a-title-bar
'Programing' 카테고리의 다른 글
XOR 변수 스와핑은 어떻게 작동합니까? (0) | 2020.11.06 |
---|---|
ClearCase 장점 / 단점 (0) | 2020.11.06 |
jQuery에서 특정 ID를 가진 모든 요소를 선택하는 방법은 무엇입니까? (0) | 2020.11.06 |
배치 스크립트에서 파일에 "2"(따옴표 없음)를 에코하는 방법은 무엇입니까? (0) | 2020.11.06 |
JDT의 "리팩터링"컨텍스트 메뉴와 유사한 퀵메뉴에 대한 키 바인딩을 어떻게 추가 할 수 있습니까? (0) | 2020.11.06 |