天天看點

Android設定Dialog的透明度

在values下面設定自定義的Dialog的style

<style name="BottomDialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:backgroundDimEnabled">true</item>
        <item name="android:windowIsFloating">false</item>
        //動畫style
        <item name="android:windowAnimationStyle">@style/BottomDialogAnimation</item>
        //設定透明度
        <item name="android:backgroundDimAmount">f</item>
    </style>
           

在代碼中:

setDimAmount()方法源碼

public void setDimAmount(float amount) {
        final WindowManager.LayoutParams attrs = getAttributes();
        attrs.dimAmount = amount;
        mHaveDimAmount = true;
        dispatchWindowAttributesChanged(attrs);
    }
           

繼續閱讀