android 自定义Dialog背景透明及显示位置设置
先贴一下显示效果图,仅作参考:
代码如下:
1、自定义Dialog
publicclassSelectDialog extends AlertDialog{
publicSelectDialog(Context context,inttheme) {
super(context, theme);
}
publicSelectDialog(Context context) {
super(context);
}
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.slt_cnt_type);
}
}
2、布局文件slt_cnt_type.xml代码
<? xml version = " 1.0 "encoding = " utf-8 " ?>
< LinearLayout
xmlns:android = " http://schemas.android.com/apk/res/android "
android:orientation = " vertical "
android:padding = " 10dp "android:layout_width = " 115dp "android:layout_height = " wrap_content "android:background = " @color/blue " >
< Button android:layout_height = " wrap_content "android:background = " #00000000 "android:layout_width = " fill_parent "android:text = " 全部联系人 "android:paddingTop = " 5dp "android:paddingBottom = " 5dp "android:paddingLeft = " 10dp "android:gravity = " left|center_vertical "android:id = " @+id/btnSltCntAll " ></ Button >
< Button android:layout_height = " wrap_content "android:background = " #00000000 "style = " @drawable/greenhand_button "android:text = " 咕咚用户 "android:gravity = " left|center_vertical "android:paddingBottom = " 5dp "android:paddingTop = " 5dp "android:paddingLeft = " 10dp "android:paddingRight = " 10dp "android:layout_width = " fill_parent "android:id = " @+id/btnSltGudongUser " ></ Button >
< Button style = " @drawable/greenhand_button "android:background = " #00000000 "android:layout_height = " wrap_content "android:layout_width = " fill_parent "android:text = " 推荐用户 "android:gravity = " left|center_vertical "android:paddingTop = " 5dp "android:paddingBottom = " 5dp "android:paddingLeft = " 10dp "android:id = " @+id/btnSltRecommend " ></ Button >
</ LinearLayout >
3、颜色color.xml代码
<? xml version = " 1.0 "encoding = " utf-8 " ?>
< resources >
< color name = " transparent " > # 00000000 </ color >
</ resources >
4、样式style.xml代码
<? xml version = " 1.0 "encoding = " utf-8 " ?>
< resources >
< style name = " dialog "parent = " @android:style/Theme.Dialog " >
< item name = " android:windowFrame " > @null </ item ><!-- 边框 -->
< item name = " android:windowIsFloating " > true </ item ><!-- 是否浮现在activity之上 -->
< item name = " android:windowIsTranslucent " > false </ item ><!-- 半透明 -->
< item name = " android:windowNoTitle " > true </ item ><!-- 无标题 -->
< item name = " android:windowBackground " > @color/transparent </ item ><!-- 背景透明 -->
< item name = " android:backgroundDimEnabled " > false </ item ><!-- 模糊 -->
</ style >
</ resources >
4、显示Dialog
SelectDialog selectDialog=newSelectDialog( this ,R.style.dialog);//创建Dialog并设置样式主题
Window win=selectDialog.getWindow();
LayoutParams params=newLayoutParams();
params.x=- 80 ;//设置x坐标
params.y=- 60 ;//设置y坐标
win.setAttributes(params);
selectDialog.setCanceledOnTouchOutside( true );//设置点击Dialog外部任意区域关闭Dialog
selectDialog.show();
以上仅作参考,如有问题,请大家及时提出来,一起交流学习!