programing

제목이없는 대화 상자로서의 AppCompatActivity

sourcetip 2021. 1. 14. 23:44
반응형

제목이없는 대화 상자로서의 AppCompatActivity


에서 Activity상속 받았습니다 AppCompactActivity. 활동 세트 테마의 매니페스트에서 :

<style name="Theme.custom" parent="Theme.AppCompat.Light.Dialog">
    <item name="android:windowNoTitle">true</item>
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
    <item name="colorButtonNormal">@color/accent</item>
    <item name="android:buttonStyle">@style/ButtonStyle</item>
</style>

활동을 실행하면 대화 상자로 표시되지만 제목이 표시됩니다! 나는 시도 supportRequestWindowFeature(Window.FEATURE_NO_TITLE)하고 RequestWindowFeature(Window.FEATURE_NO_TITLE)있지만, 제목이 여전히 표시됩니다. 알려주세요, 무엇이 잘못 되었나요?


편집하다

나는 그것을 해결하고 만 변경 android:windowNoTitle합니다 windowNoTitle! AppCompactActvity를 사용하고 있기 때문에!


당신이 발생하는 경우 AppCompatActivity다음과 같은 다음 작동하지 않습니다

requestWindowFeature(Window.FEATURE_NO_TITLE);

간단한 방법은 style.xml파일 에 설정하는 것입니다 .

<style name="mytheme" parent="Theme.AppCompat.Light.Dialog">
    <item name="windowNoTitle">true</item>
</style>

그것은 name="windowNoTitle"아니다name="android:windowNoTitle"

프로그래밍 방식으로 제거하려면 다음을 추가하십시오. onCreate()

getSupportActionBar().hide();

AppCompatActivity는 Activity와 다르며 자체 기능이 있습니다. 같은 목적으로 간단히 사용할 수 있습니다.

supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

여기 에서 문서를 찾을 수 있습니다.

참고 : setContentView()충돌을 방지하려면 먼저 추가하십시오 .


style.xml에서 스타일 아래 설정

<style name="customDialogTheme" parent="Theme.AppCompat.Light.Dialog">
    <item name="windowNoTitle">true</item>
</style>

활동에이 테마를 설정하는 것보다

<activity
    android:name=".yourDailogActivity"
    android:configChanges="orientation"
    **android:theme="@style/CheckoutDialogTheme"**
    android:screenOrientation="portrait" />

활동 제목 위에 아무것도 유지하지 않아야합니다. 이 단계를 따르면 활동 제목이 숨겨집니다.

style.xml :

    </style>
        <style name="MyTitledActivityDialogTheme" parent="Theme.AppCompat.Light.Dialog">
        <item name="android:windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
    </style>

manifiest.xml :

 <activity
            android:name="YouActivity" 
            android:theme="@style/MyTitledActivityDialogTheme" />

YourClass.java :

이후 setContentView(R.layout.xyz)이 같은

  setContentView(R.layout.xyz);
  if (getSupportActionBar() != null)
      getSupportActionBar().hide();

setContentView()아래 의 요청 창 기능을 사용하시기 바랍니다.

requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);

. <string name="app_name"></string>그래서 활동을 실행하면 "제목 없음"과 함께 대화 상자가 표시됩니다.

string.xml :

         <resources>
               <string name="app_name"></string>
               <string name="hello_world">Hello world!</string>
               <string name="action_settings">Settings</string>
        </resources>

참조 URL : https://stackoverflow.com/questions/30184031/appcompatactivity-as-a-dialog-without-title

반응형