性别选择器

首先是布局
 <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="150dp"
       android:orientation="vertical">

      <LinearLayout
          android:id="@+id/ll"
          android:layout_width="match_parent"
          android:layout_height="40dp"
          android:orientation="horizontal">
          <TextView
              android:layout_width="wrap_content"
              android:layout_height="match_parent"
              android:text="性别:"
              android:gravity="center"

              android:textSize="18sp"
              android:layout_marginLeft="10dp"/>
          <TextView
              android:id="@+id/shezhi"
              android:layout_marginTop="2dp"
              android:layout_alignParentRight="true"
              android:layout_width="wrap_content"
              android:layout_height="match_parent"
              android:text="取消"
              android:gravity="center"

              android:textSize="18sp"
              android:layout_marginLeft="185dp"/>
      </LinearLayout>

       <TextView
           android:layout_marginTop="5dp"
           android:gravity="center"
           android:layout_gravity="center"
           android:layout_width="match_parent"
           android:layout_height="1dp"

           android:layout_below="@id/ll"/>

       <LinearLayout
           android:layout_below="@+id/xiugai"
           android:layout_width="match_parent"
           android:layout_height="110dp"
           android:orientation="vertical"
           >


           <TextView
               android:id="@+id/nan"
               android:layout_width="match_parent"
               android:layout_height="54dp"
               android:text="男"
               android:layout_gravity="center"
               android:textSize="18sp"
               android:gravity="center"
               android:textColor="@color/black"
               />

           <TextView
               android:layout_width="match_parent"
               android:layout_height="1dp"
               android:background="#D0D0D0"/>
           <TextView
               android:id="@+id/nv"
               android:layout_weight="1"
               android:layout_width="match_parent"
               android:layout_height="55dp"
               android:text="女"
               android:layout_gravity="center"
               android:textSize="18sp"
               android:gravity="center"
               android:textColor="@color/black"
               />
           <TextView
               android:layout_marginTop="15dp"
               android:gravity="center"
               android:layout_gravity="center"
               android:layout_width="match_parent"
               android:layout_height="1dp"
               android:background="#D0D0D0"/>
       </LinearLayout>


   </LinearLayout>

然后自定义dialog

public class CustomDog extends Dialog {
    private TextView ok,cancel,shezhi;
    private Context context;
    public CustomDog(Context context) {
        super(context);
        this.context=context;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dog);

        ok = (TextView) findViewById(R.id.nan);
        cancel = (TextView) findViewById(R.id.nv);
        shezhi = (TextView) findViewById(R.id.shezhi);

        //设置dialog大小
        Window window=getWindow();
        //WindowManager主要用来管理窗口的一些状态、属性
        WindowManager manager=((Activity)context).getWindowManager();
        //获取当前对话框的 参数值
        WindowManager.LayoutParams params=window.getAttributes();
        //设置窗口显示的位置
        window.setGravity(Gravity.CENTER);
        //获取屏幕的宽高
        Display display=manager.getDefaultDisplay();
        //把屏幕的宽度的0.8赋值给当前对话框
        params.width=(int) (display.getWidth()*0.8);;
        window.setAttributes(params);
        window.setBackgroundDrawableResource(android.R.color.white);
        ok.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            }
        });
        ok.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //close custom dialog
                dismiss();
                String inputString = ok.getText().toString().trim();

                if (mListener != null) {
                    if (TextUtils.isEmpty(inputString)) {
                        mListener.onInputIllegal();
                    } else {
                        mListener.onInputLegitimacy(inputString);
                    }
                }
            }
        });
        shezhi.setOnClickListener(new View.OnClickListener() {
                                      @Override
                                      public void onClick(View v) {
                                      }
                                  }
        );

        shezhi.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dismiss();
                String inputStringdd = shezhi.getText().toString().trim();
                if (mListener != null) {
                    if (TextUtils.isEmpty(inputStringdd)) {
                        mListener.onInputIllegal();
                    } else {
                        mListener.onInputLegitimacy(inputStringdd);
                    }
                }
            }
        });

        cancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            }
        });
        cancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dismiss();
                //close dialog
                String inputStringss = cancel.getText().toString().trim();
                if (mListener != null) {
                    if (TextUtils.isEmpty(inputStringss)) {
                        mListener.onInputIllegal();
                    } else {
                        mListener.onInputLegitimacy(inputStringss);
                    }
                }
            }
        });
    }

    private OnDialogClickListeners mListener;

    public void setOnDialogClickListeners(OnDialogClickListeners listener) {
        mListener = listener;
    }

    public interface OnDialogClickListeners {

        //legitimacy input
        void onInputLegitimacy(String inputString);

        //illegal input
        void onInputIllegal();
    }
}
最后再点击时间
 case R.id.grzl_xb:
                CustomDog customDog = new CustomDog(GRZL.this);
                customDog.setOnDialogClickListeners(new CustomDog.OnDialogClickListeners() {
                    @Override
                    public void onInputLegitimacy(String inputString) {
                       xb.setText(inputString);
                    }

                    @Override
                    public void onInputIllegal() {
//                        AlertDialog.Builder alertDialog = new AlertDialog.Builder(GRZL.this);
//                        alertDialog.setTitle("Alert:");
//                        alertDialog.setMessage(" Illegal Input");
//                        alertDialog.setPositiveButton("ok", null);
//                        alertDialog.show();

                    }
                });
                customDog.show();
                break;

好了 完成了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值