android---(UI组件)

这里写图片描述

这里写图片描述

1.提示对话框
 public void dialogClick(View v){

        //创建一个提示对话框的构造者

        builder = new AlertDialog.Builder(this);

        builder.setTitle("提示:");
        builder.setMessage("你好啊!");
        builder.setIcon(R.mipmap.ic_launcher);

        //设置按扭和事件
        //正面
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this,"有",Toast.LENGTH_SHORT).show();
            }
        });

        //反面
        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "没有", Toast.LENGTH_SHORT).show();
            }
        });

        //中立
        builder.setNeutralButton("中立", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this,"中立",Toast.LENGTH_SHORT).show();
            }
        });

        builder.show();
    }

这里写图片描述

单列表对话框:
 public  void dialog2(View v){
        AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setTitle("请择择平台");

        final String[] items = {"android","iso","window"};

        builder.setItems(items, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this,items[which],Toast.LENGTH_SHORT).show();
            }
        });

        builder.show();

    }

这里写图片描述

 public  void dialog3(View v){
        AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setTitle("多列表对话框");

        builder.setTitle("请择择平台");

        final ArrayList<String> list = new ArrayList<String>();


        final String[] items = {"android","iso","window"};


        builder.setMultiChoiceItems(items,null, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which, boolean isChecked) {

                if(isChecked){
                    list.add(items[which]);
                }else {
                    list.remove(items[which]);
                }

            }
        });



        //正面
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this,list.toString(),Toast.LENGTH_SHORT).show();
                dialog.dismiss(); //关掉
            }
        });

        //反面
        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
            list.clear();
                dialog.dismiss();
            }
        });

        builder.show();




    }

这里写图片描述


    String result = "";
    public void dialog4(View v){
        AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setTitle("请择择平台");

        final String[] items = {"android","iso","window"};


        builder.setSingleChoiceItems(items,0, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

                result = items[which].toString();
                Toast.makeText(MainActivity.this,"选中了"+items[which],Toast.LENGTH_SHORT).show();
            }
        });
        builder.show();

    }

自定义对话框:
这里写图片描述
1.新建布局文件:
layou.xml 进行布局:

2.处理自定义对话框代码

    public void dialog5(View v){
        AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setTitle("自定义对话框");

       // builder.setView(R.layout.layout);//api 21(android5.0)才支持

        //实例化布局文件
        final View view = getLayoutInflater().inflate(R.layout.layout,null);
        builder.setView(view);

        //正面
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
               EditText text1 = (EditText) view.findViewById(R.id.edit_username);
               EditText text2 = (EditText) view.findViewById(R.id.edit_password);

                String name = text1.getText().toString();
                String password = text2.getText().toString();

                Toast.makeText(MainActivity.this,name+"-------"+password,Toast.LENGTH_SHORT).show();

                dialog.dismiss();
            }
        });

        //反面
        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which){
                dialog.dismiss();
            }
        });

        builder.show();
    }
TimePickerDialog:
1.创建一个类继承DialogPragment

2.重写onCreateDialog()方法,返回一个TimePickerDialog对象

/**
 * Created by w7 on 2015/10/4.
 */
public  class TimePickerFragment extends DialogFragment
        implements TimePickerDialog.OnTimeSetListener {

    private TimePicker view;
    private int hourOfDay;
    private int minute;

    private MainActivity mainActivity;


    //得到 MainActivity类
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //获取所依赖的activity
        mainActivity = (MainActivity) getActivity();
    }

    //事件方法:当显示dialog 对话框时会自动调用
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        //获取当前系统时间
        final Calendar c = Calendar.getInstance();
        hourOfDay = c.get(Calendar.HOUR_OF_DAY);
         minute = c.get(Calendar.MINUTE);

        return new TimePickerDialog(getActivity(), this, hourOfDay, minute,
                true);
    }

    //对话框中完成按扭的处理事件
    //设置用户选择的时间
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        this.view = view;
        this.hourOfDay = hourOfDay;
        this.minute = minute;

        //调用mainactivity的方法将数据显示在文本显示框中
        mainActivity.setTimeValue(hourOfDay,minute);
    }
}


3.activity核心代码

public class MainActivity extends Activity {

    private TextView textView_time;

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

    //得到文本显示框
        textView_time = (TextView) findViewById(R.id.textView);
    }

    //将用户选择的数据赋给文本显示框,给TimePickerFragment类使用
    public void  setTimeValue(int hour,int minute){
        textView_time.setText(hour+":"+minute);
    }

    //当点击按扭时,显示时间对话框
    public void setTimeClick(View v){
        DialogFragment dialogFragment = new TimePickerFragment();

//对话框从管理器中获取,果管理器中有,则直接取,如果没有,则创建后,再取        dialogFragment.show(getFragmentManager(),"timePicker");
    }

日期设置:

1.创建日期对话框的类
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {

    private Main2Activity activity;
    private Calendar c;

    @Override
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            activity = (Main2Activity) getActivity();
        }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        c = Calendar.getInstance();
        int year = c.get(YEAR);
        int month = c.get(MONTH);
        int day = c.get(DAY_OF_MONTH);

        DatePickerDialog dialog = new DatePickerDialog(getActivity(),this,year,month,day);

        return  dialog;
   }

//用户确认选择后触发
    @Override
    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
    //调用所依赖的activity的方法,将选择的数据显示到文本框中
        activity.setDateValue(year,monthOfYear,dayOfMonth);


    }
}

acitivity:
public class Main2Activity extends Activity {
    private TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        textView  = (TextView) findViewById(R.id.textView2);
    }

    public void setDateValue(int year,int month,int day){
        textView.setText(year+"年"+(month+1)+"月"+day+"日");
    }
    public void setdate(View v){
        DialogFragment dialogFragment = new DatePickerFragment();
        dialogFragment.show(getFragmentManager(),"date");
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值