http://www.cnblogs.com/windlivefamily/articles/2133956.html
先贴一下显示效果图,仅作参考:
代码如下:
1、自定义Dialog
public
class
SelectDialog extends AlertDialog{
public SelectDialog(Context context, int theme) {
super(context, theme);
}
public SelectDialog(Context context) {
super(context);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.slt_cnt_type);
}
}
public SelectDialog(Context context, int theme) {
super(context, theme);
}
public SelectDialog(Context context) {
super(context);
}
@Override
protected void onCreate(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 >
< 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 >
< 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 >
< 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
=
new
SelectDialog(
this
,R.style.dialog);//创建Dialog并设置样式主题
Window win = selectDialog.getWindow();
LayoutParams params = new LayoutParams();
params.x = - 80 ;//设置x坐标
params.y = - 60 ;//设置y坐标
win.setAttributes(params);
selectDialog.setCanceledOnTouchOutside( true );//设置点击Dialog外部任意区域关闭Dialog
selectDialog.show();
Window win = selectDialog.getWindow();
LayoutParams params = new LayoutParams();
params.x = - 80 ;//设置x坐标
params.y = - 60 ;//设置y坐标
win.setAttributes(params);
selectDialog.setCanceledOnTouchOutside( true );//设置点击Dialog外部任意区域关闭Dialog
selectDialog.show();
以上仅作参考,如有问题,请大家及时提出来,一起交流学习!