随心所欲掌控弹出View-------------->自定义dialog

1.dialog静态方法

/**

* 弹出对话框 显示的是三个按钮 -------》 例如: 修改头像
* @param context
* @param handler
* @return
*/


public static AlertDialog showUpdateHeadDialog(Context context,
final TaskHandler handler) {
alertDialog = new AlertDialog.Builder(context).create();
alertDialog.show();// 初始化显示
alertDialog.setContentView(R.layout.act_general_dialogupdatehead);
RelativeLayout linear = (RelativeLayout) alertDialog.findViewById(R.id.linear);
OnClickListener defaultListener = new OnClickListener() {
@Override
public void onClick(View v) {
alertDialog.cancel();
}
};
linear.setOnClickListener(defaultListener);
OnClickListener listener1 = new OnClickListener() {
@Override
public void onClick(View v) {
handler.sendObjectMessage(Task.CUSTOM, "", 1);
}
};
OnClickListener listener2 = new OnClickListener() {
@Override
public void onClick(View v) {
handler.sendObjectMessage(Task.CUSTOM, "", 2);
}
};
/** 拍照监听事件 */
Button btn_Tackpic = (Button) alertDialog
.findViewById(R.id.btn_Tackpic);
btn_Tackpic.setOnClickListener(listener1);
/** 相册选择监听事件 */
Button btn_Photo = (Button) alertDialog.findViewById(R.id.btn_Photo);
btn_Photo.setOnClickListener(listener2);
/** 取消监听事件 */
Button btn_cancel = (Button) alertDialog.findViewById(R.id.btn_cancel);
btn_cancel.setOnClickListener(defaultListener);
return alertDialog;

}

2.xml布局配置

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linear"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


    <!-- 添加昵称时候的对话框 -->
    <!-- Title -->
    <!-- OK&Cancel Button -->


    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="20dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:orientation="vertical" >


        <Button
            android:id="@+id/btn_Tackpic"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_margin="5dp"
            android:layout_weight="1"
            android:background="@drawable/act_general_dialogbtn2"
            android:focusable="true"
            android:gravity="center"
            android:padding="12dp"
            android:text="@string/str_tackpicture_value"
            android:textColor="#ff4500"
            android:visibility="visible" />


        <Button
            android:id="@+id/btn_Photo"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_margin="5dp"
            android:layout_weight="1"
            android:background="@drawable/act_general_dialogbtn2"
            android:focusable="true"
            android:gravity="center"
            android:padding="12dp"
            android:text="@string/str_choose_photo_value"
            android:textColor="#ff4500" />


        <Button
            android:id="@+id/btn_cancel"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_margin="5dp"
            android:layout_weight="1"
            android:background="@drawable/act_general_dialogbtn2"
            android:focusable="true"
            android:gravity="center"
            android:padding="12dp"
            android:text="@string/str_cancel_value"
            android:textColor="#000"
            android:visibility="visible" />
    </LinearLayout>
</RelativeLayout>

3.主类调用方法:

/** 弹出对话框 */
DialogUtil.showEditDialog(UserHomePageActivity.this,
mTaskHandler, R.string.str_ok_value,
R.string.str_cancel_value, null, null);

4.这里由于改变了对话框的位置,所以我们这里需要重新对布局点击事件进行修改;

我这里是点击之后消失对话框

你可能感兴趣的:(随心所欲掌控弹出View-------------->自定义dialog)