android對話方塊程式碼中設定背景為透明
<span style="font-size:18px;">//建立背景透明的對話方塊 AlertDialog.THEME_HOLO_LIGHT
AlertDialog.Builder b = new AlertDialog.Builder(myContext.getApplicationContext(), AlertDialog.THEME_HOLO_LIGHT);
dialog = b.create(); </span>
網上還有一種,但是在android5.0以上,就不能讓背景透明瞭,實際上他們只是讓對話方塊的內容透明
//dialog設定各種屬性<pre name="code" class="java"><span style="white-space:pre"> </span>//獲取dialog的佈局屬性 WindowManager.LayoutParams wmParams = dialog.getWindow().getAttributes(); //wmParams.format = PixelFormat.TRANSPARENT; 內容全透明 wmParams.format = PixelFormat.TRANSLUCENT; 內容半透明 wmParams.alpha=0.1f; 調節透明度,1.0最大
dialog.getWindow().setAttributes(wmParams);
經實踐檢測,即使是new AlertDialog.Builder(myContext.getApplicationContext(), AlertDialog.THEME_HOLO_LIGHT);也不能使所有android裝置透明,有些android盒子,就還是留有白色背景,解決方法
styles.xml:AlertDialog.Builder b = new AlertDialog.Builder(myContext.getApplicationContext(), R.style.NoBackGroundDialog); dialog = b.create();
<style name="NoBackGroundDialog" parent="@android:style/Theme.Holo.Light.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
</style>
這裡不管是Theme.Holo.Light.Dialog,還是繼承其他parent,例如Theme.DeviceDefault.Dialog,都可以透明!!!