Programing

Android 활동이 대화 상자로 표시되지만 제목 표시 줄이 없음

crosscheck 2020. 11. 6. 07:51
반응형

Android 활동이 대화 상자로 표시되지만 제목 표시 줄이 없음


다음과 같은 테마가 설정된 활동이 있습니다.

android:theme="@android:style/Theme.Dialog"

그러나 표시되는 활동 대화 상자에는 사용 가능한 공간을 거의 사용하지 않는 제목 표시 줄이 있습니다. 어떻게 제거 할 수 있습니까?


일을 시도 requestWindowFeature(Window.FEATURE_NO_TITLE);onCreate. 전화를 건 직후 super.onCreatesetContentView.


를 사용하는 사람들의 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

반응형