重写Android系统自带Dialog
Context context = EditUserInfoTabActivity.this; /* * R.style.edit_AlertDialog_style 是我们重新定义的系统自带Dialog的样式 */ Dialog dia = new Dialog(context,R.style.edit_AlertDialog_style); /* * R.layout.manage_username_dialog是一个XML布局文件 */ dia.setContentView(R.layout.manage_username_dialog); dia.show(); // 以下是控制弹出Dialog的位置 Window w=dia.getWindow(); WindowManager.LayoutParams lp =w.getAttributes(); lp.x=0; lp.y=-307; dia.onWindowAttributesChanged(lp);
设置弹出位置必须在Dialog Show之后。
Dialog样式的代码如下:
<style name="edit_AlertDialog_style" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item><!--边框--> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> <!--是否启用标题栏--> <item name="android:background">@drawable/edit_dialog_bg</item> <item name="android:windowBackground">@color/transparent</item> <item name="android:backgroundDimEnabled">true</item> <!--是否使用背景半透明--> </style>
android:windowBackground:
<color name="transparent">#00000000</color>
自定义的布局代码如下:
<?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="wrap_content" android:orientation="vertical" android:background="@drawable/edit_dialog_bg"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="修改名称" android:textColor="#ffffff" android:textSize="25dp" android:gravity="center" android:layout_gravity="center" android:layout_marginTop="15dp" android:layout_marginBottom="15dp"/> <EditText android:id="@+id/edit_dialog_input" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/edit_dialog_input_username" android:layout_marginLeft="10dp" android:layout_marginRight="10dp"/> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:layout_marginBottom="15dp" android:orientation="horizontal"> <Button android:id="@+id/edit_dialog_username_ok" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="确定" android:layout_marginLeft="10dp" android:layout_marginRight="5dp" android:textSize="20dp" android:textColor="#666666" android:background="@drawable/edit_dialog_btn_bg"/> <Button android:id="@+id/edit_dialog_username_cancel" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="取消" android:layout_marginLeft="5dp" android:layout_marginRight="10dp" android:textSize="20dp" android:textColor="#666666" android:background="@drawable/edit_dialog_btn_bg"/> </LinearLayout> </LinearLayout>
效果图如下:
本博客内容,如需转载请务必保留超链接。Contact Me:Mail此处省略好几个字...