效果展示:
遇到的问题:
程序刚开始运行的时候背景是透明的,但是运行一段时间以后,背景就默认变成drawable中的第一个图片了。
解决方法:
如何进行半透明设置:
首先设置对话框布局文件的背景为半透明:
android:background="#e0000000"
然后设置透明度:
// 设置背景透明度
customdialog2view.getBackground().setAlpha(20);
布局文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <HorizontalScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:scrollbars="horizontal" > <LinearLayout android:id="@+id/layout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <!-- 对话框视图:自定义的 --> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#C7C7C7" android:orientation="horizontal" > <TextView android:layout_width="160dp" android:layout_height="wrap_content" android:text="编号" android:textColor="#000000" android:textSize="18dp" /> <TextView android:layout_width="100dp" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="名称" android:textColor="#000000" android:textSize="18dp" /> <TextView android:layout_width="100dp" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="管辖部门" android:textColor="#000000" android:textSize="18dp" /> <TextView android:layout_width="250dp" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="所在位置" android:textColor="#000000" android:textSize="18dp" /> </LinearLayout> <!-- 一条线 --> <TextView android:layout_width="fill_parent" android:layout_height="1dp" android:background="#483D8B" > </TextView> <ListView android:id="@+id/listview" android:layout_width="fill_parent" android:layout_height="100dp" android:background="#770000ff" android:cacheColorHint="#00000000" > </ListView> </LinearLayout> </HorizontalScrollView> </ScrollView> </LinearLayout>
style.xml
透明:
<style name="dialog" parent="@android:style/Theme.Dialog">
<!-- 边框 <item name="android:windowFrame">@null</item> -->
<!-- 是否浮现在activity之上 -->
<item name="android:windowIsFloating">true</item>
<!-- 半透明 -->
<item name="android:windowIsTranslucent">false</item>
<!-- 无标题 -->
<item name="android:windowNoTitle">true</item>
<!-- 背景透明 -->
<item name="android:windowBackground">@drawable/transparent</item>
<!-- 模糊 -->
<item name="android:backgroundDimEnabled">false</item>
</style>
不透明:
<style name="dialog" parent="@android:style/Theme.Dialog">
<!-- 边框 <item name="android:windowFrame">@null</item> @color/white -->
<!-- 是否浮现在activity之上 -->
<item name="android:windowIsFloating">true</item>
<!-- 半透明 -->
<item name="android:windowIsTranslucent">true</item>
<!-- 无标题 -->
<item name="android:windowNoTitle">true</item>
<!-- 背景透明 -->
<item name="android:windowBackground">@color/white</item>
<!-- 模糊 -->
<item name="android:backgroundDimEnabled">false</item>
</style>