DialogFragment의 배경색 투명 or 지정
5070 단어 안드로이드MaterialDesign
하고 싶은 일
머티리얼 디자인화한 DialogFragment 배경의 회색(스크림)을 투명 or 색을 지정하고 싶다
스크림이란 무엇인가? 는 Material Design 가이드라인에 설명되어 있습니다.
htps : // 마테리아 l. 이오 / 코 m 포넨 ts / ぢ 아 gs # 아나토 my
완성형
구현 코드
방법은 style.xml or 코드의 두 가지가 있습니다.
style 패턴
style.xml
<!-- https://material.io/components/dialogs/android#dialogs -->
<style name="TransportDialog" parent="ThemeOverlay.MaterialComponents.MaterialAlertDialog">
<!-- 透明にする -->
<item name="android:backgroundDimEnabled">false</item>
<!-- 色を調整する -->
<item name="backgroundDimAmount">10f</item>
</style>
이 스타일을 DialogFragment에 설정
class TransportDialogFragment : DialogFragment(R.layout.transparent_dialog_fragment) {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
// スタイルをセット
setStyle(STYLE_NORMAL, R.style.TransportDialog)
return super.onCreateDialog(savedInstanceState)
}
이제 색을 변경할 수 있었다.
코드 패턴
class TransportDialogFragment : DialogFragment(R.layout.transparent_dialog_fragment) {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
return super.onCreateDialog(savedInstanceState).apply {
// Dialog背景色を指定
window?.setDimAmount(0f) // 0だと透明になるので適宜調整する
}
}
}
이것으로도 색을 변경할 수 있다.
전체 코드
GitHub에 UP했습니다.
참고 링크
material-components-android/getting-started.md at master
htps : // 기주 b. 코 m / 마테리아 l - 코 m 포넨 ts / 마테리아 l - 코 m 포넨 ts - 안 d 로이 d / b ぉ b / 마스 r / 두 cs / 껌 d. md
Dialogs - Material Design
htps // 마테리아 l. 이오 / 코 m 포넨 ts / ぢ 아 gs
Reference
이 문제에 관하여(DialogFragment의 배경색 투명 or 지정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ikemura23/items/658c7fb4804b287d1e6b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)