您的位置:首页 > 移动开发 > Android开发

Android 自定义Dialog背景透明及显示位置设置

2015-07-15 09:37 711 查看
代码如下:



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);

}

}







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 = 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();





以上仅作参考,如有问题,请大家及时提出来,一起交流学习!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: