스마트폰/안드로이드

android progressdialog에 이상한 background 가 나타난다면

나를찾는아이 2017. 10. 31. 18:01
728x90
반응형

그래도 안드로이드용 어플리케이션을 꽤 오랫동안 개발하였는데


지금도 골치아프고 귀찮은 녀석이 안드로이드앱에서 사용하는 테마와 style 입니다.


각각의 컴포넌트들이 어떠한 속성들을 가지고 있고, 어떠한 기본값을 가지고 있는지 알수도 없고,


디테일하게 설명되어있는 문서도 없어서


이상한 현상을 발견할때마다 구글링을 해야되니 말이죠.



progressdialog를 사용해서 로딩을 표시하였는데


일부기기에서 progressdialog 뒤에 알수 없는 백그라운드가 나타나는것입니다.


역시 구글과 스택오버플로우가 도와주네요.


https://stackoverflow.com/questions/13347539/change-background-of-progressdialog






<style name="MyTheme" parent="@android:style/Theme.Dialog">

    <item name="android:alertDialogStyle">@style/CustomAlertDialogStyle</item>

    <item name="android:textColorPrimary">#000000</item>

</style>


<style name="CustomAlertDialogStyle">

    <item name="android:bottomBright">@color/transparent</item>

    <item name="android:bottomDark">@color/transparent </item>

    <item name="android:bottomMedium">@color/transparent </item>

    <item name="android:centerBright">@color/transparent </item>

    <item name="android:centerDark">@color/transparent </item>

    <item name="android:centerMedium">@color/transparent </item>

    <item name="android:fullBright">@color/transparent </item>

    <item name="android:fullDark">@color/transparent </item>

    <item name="android:topBright">@color/transparent </item>

    <item name="android:topDark">@color/transparent </item>

</style>



ProgressDialog dialog = new ProgressDialog(this, R.style.MyTheme);



이렇게 사용하시면 백그라운드가 2중으로 나오는 현상이 해결됩니다.



728x90
반응형