Android自定义Dialog四个角有黑边,解决方案?

mac2025-04-01  3

1. 解决dialog背景四个直角有黑边问题 1.1.工程value/style.xml 加入以下dialog样式

<style name="SingleMessageDialogStyle" parent="@android:style/Theme.Dialog">         <item name="android:windowFrame">@null</item>         <item name="android:windowIsFloating">true</item>         <item name="android:windowIsTranslucent">false</item>         <item name="android:windowNoTitle">true</item>         <item name="android:backgroundDimEnabled">true</item>         <item name="android:windowBackground">@null</item> </style>

1.2. 自定义Dialog代码构造函数中加入以下代码片断

void initConfig(){  setCanceledOnTouchOutside(true); // 解决dialog背景四个直角有黑边问题  getWindow().setBackgroundDrawableResource(android.R.color.transparent);// 背景透明  getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);// 全屏(注:内容区域全屏,有状态显示) }

1.3.布局 dialog.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="match_parent"      android:id="@+id/root_layout">     <TextView         android:id="@+id/tv_msg"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_centerInParent="true"         android:background="@drawable/bg_small_frame"         android:text="@string/dialog_single_msg_text"         android:textColor="@android:color/white"         android:gravity="center"         android:textSize="32sp" /> </RelativeLayout>

 

最新回复(0)