首先是在Activity中
_Dialog _dialog = new _Dialog(CurrentActivity.this); //注意,这里不能用getApplicaitonContext(),在另一篇博文中有具体讲 _dialog.show();在XML中,有style和layout两个部分的内容
<style name="login_dialog" parent="@android:style/Theme.Dialog"> <!-- 这个配合登录时的dialog用 --> <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">false</item> <item name="android:backgroundDimEnabled">true</item> </style>这个layout名 login.xml,写的不是很好,勉强看
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/login_error" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:gravity="left" android:text="输入的账号和密码不正确" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#ff0000" android:visibility="invisible" /> <TextView android:id="@+id/username" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:gravity="left" android:text="账号" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_x="1dp" android:layout_y="30dp" /> <EditText android:id="@+id/txt_username" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:autoText="false" android:capitalize="none" android:gravity="fill_horizontal" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_below="@+id/login_error" android:layout_alignStart="@+id/login_error" android:layout_x="1dp" android:layout_y="68dp" /> <TextView android:id="@+id/password" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:gravity="left" android:text="密码" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_x="1dp" android:layout_y="113dp" /> <EditText android:id="@+id/txt_password" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:inputType="textPassword" android:autoText="false" android:capitalize="none" android:gravity="fill_horizontal" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_alignParentBottom="true" android:layout_alignStart="@+id/login_error" android:layout_marginBottom="47dp" android:layout_x="1dp" android:layout_y="157dp" /> <Button android:id="@+id/login_sure" android:text="确定" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/txt_password" android:layout_alignStart="@+id/txt_username" android:layout_marginTop="101dp" android:layout_x="88dp" android:layout_y="200dp" /> <Button android:id="@+id/login_cancel" android:text="取消" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_alignTop="@+id/login_sure" android:layout_alignEnd="@+id/txt_password" android:layout_x="233dp" android:layout_y="200dp" /> <!--<TextView--> <!--android:id="@+id/txt_toregister"--> <!--android:layout_width="wrap_content"--> <!--android:layout_height="wrap_content"--> <!--android:layout_marginLeft="20dip"--> <!--android:layout_marginRight="20dip"--> <!--android:gravity="left"--> <!--android:textAppearance="?android:attr/textAppearanceMedium"--> <!--android:textColor="#2200C1" />--> </AbsoluteLayout>在 _Dialog 类中(自定义的Dialog)
//在_Dialog的构造方法中,为几个变量赋值 public _Dialog(Context context) { super(context); dialog = new Dialog(context, R.style.login_dialog); dialog.setContentView(R.layout.login); positiveButton = (Button) dialog.findViewById(R.id.login_sure); negativeButton = (Button) dialog.findViewById(R.id.login_cancel); } //其余的部分不再赘述,多半是一些与处理数据的逻辑相关的内容