圓角Dialog 四角存在默認背景顏色問題解決

佈局文件根佈局加

  android:background="@drawable/rectangle"

rectangle.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!--填充顏色-->
    <solid android:color="@color/white"></solid>
    <!--線的寬度、顏色-->
    <stroke android:width="2dp" android:color="@color/white"/>
    <!--矩形圓角-->
    <corners android:radius="15dp"/>
</shape>

styles.xml

  <!-- 自定義loading dialog -->
    <style name="loading_dialog" parent="android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@android:drawable/screen_background_light</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>

createDialog 時將默認背景改成透明的,不然帶着4個角

loadingDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);

      
   LayoutInflater inflater = LayoutInflater.from(context);
        View v = inflater.inflate(R.layout.loading_dialog, null);// 得到加載view
Dialog loadingDialog = new Dialog(context, R.style.loading_dialog);// 創建自定義樣式dialog
        loadingDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
        loadingDialog.setCancelable(false);// 不可以用“返回鍵”取消
        loadingDialog.setContentView(layout, new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.FILL_PARENT,
                LinearLayout.LayoutParams.FILL_PARENT));// 設置佈局
        return loadingDialog;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章