自定义控件--自定义对话框

来源:互联网 发布:Js用键盘实现图片切换 编辑:程序博客网 时间:2024/04/30 12:22

一:创建一个自定义对话框的布局文件

<LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="300dp"    android:layout_gravity="center"    android:layout_height="wrap_content"    android:background="#FFFFFF">    <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:gravity="center"        android:text="@string/tv_tilte_text"/>    <EditText        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:hint="@string/et_pwd_hint"/>    <LinearLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:gravity="center_horizontal"        android:orientation="horizontal">        <Button            android:id="@+id/bt_dialog_confirm"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@string/bt_confirm_text"/>        <Button            android:id="@+id/bt_dialog_cancel"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@string/bt_cancel_text"/>    </LinearLayout></LinearLayout>

二:显示自定义的对话框,同时结局高低版本样式不统一的问题

public class CustomDialogActivity extends FragmentActivity implements View.OnClickListener{    private Button bt_startDialogActivity;    private AlertDialog dialog;    private Button bt_startDialogActivity_old;    private AlertDialog dialog_old;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_custom_dialog);        bt_startDialogActivity = (Button) findViewById(R.id.bt_startDialogActivity);        bt_startDialogActivity_old = (Button) findViewById(R.id.bt_startDialogActivityOld);        bt_startDialogActivity.setOnClickListener(this);        bt_startDialogActivity_old.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()){            /**             * 高低版本样式不统一,低版本的上下边界有黑色边             */            case R.id.bt_startDialogActivity:                AlertDialog.Builder builder = new AlertDialog.Builder(CustomDialogActivity.this);                View view = View.inflate(CustomDialogActivity.this,R.layout.custom_dialog,null);               Button bt_dialog_confirm = (Button)view.findViewById(R.id.bt_dialog_confirm);                Button bt_dialog_cancel = (Button)view.findViewById(R.id.bt_dialog_cancel);                bt_dialog_confirm.setOnClickListener(new View.OnClickListener() {                    @Override                    public void onClick(View v) {                        dialog.dismiss();                    }                });                bt_dialog_cancel.setOnClickListener(new View.OnClickListener() {                    @Override                    public void onClick(View v) {                        dialog.dismiss();                    }                });                //这是AlertDialog.Builder的方法                builder.setView(view);                dialog = builder.show();                break;            /**             * 解决高低版本样式不统一的问题             */            case R.id.bt_startDialogActivityOld:                AlertDialog.Builder builder_old = new AlertDialog.Builder(CustomDialogActivity.this);                View view_old = View.inflate(CustomDialogActivity.this,R.layout.custom_dialog,null);                //添加确认按钮和取消按钮的onClick事件                dialog_old = builder_old.create();//                这是AlertDialog的方法                dialog_old.setView(view_old,0,0,0,0);//边界为0,因此低版本就上下边界就没有黑边了                dialog_old.show();                break;            default:                break;        }    }}



0 0
原创粉丝点击