安卓菜单

作者在 2015-07-07 08:25:01 发布以下内容
ContextMenu: 上下文菜单 步骤: 1、 textView1 = (TextView) findViewById(R.id.textView1); textView2 = (TextView) findViewById(R.id.textView2); //为控件注册上下文菜单 registerForContextMenu(textView1); registerForContextMenu(textView2); 2、创建上下文菜单:重写onCreateContextMenu() public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); switch (v.getId()) { case R.id.textView1: menu.add(0, 1, 0, "编辑"); menu.add(0, 2, 0, "删除"); break; case R.id.textView2: menu.add(0, 3, 0, "设置"); menu.add(0, 4, 0, "取消"); break; default: break; } } 3、点击事件:重写onContextItemSelected() public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case 1: textView1.setText("编辑"); break; case 2: textView1.setText("删除"); break; case 3: textView2.setText("设置"); break; case 4: textView2.setText("取消"); break; default: break; } return super.onContextItemSelected(item); } 选项菜单跟上下文菜单之间的区别: 1、触发方式不一样: optionmenu:按menu键 contextmenu: 长按控件(触发方式比较隐蔽) 2、显示方式不一样: optionmenu:界面底部弹出 contextmenu: 界面中间 3、作用范围不一样: optionmenu:activity contextmenu:view 4、调用的创建方法以及次数都不一样: optionmenu: 创建的时候onCreateOptionsMenu()只调用一次 contextmenu:每次弹出的时候onCreateContextMenu()就会被调用 UI控件: 1、checkBox 多选框 作用:实现多选 场景:用于获取一些不需要用户填写的信息。(兴趣爱好) 属性: XML:android:checked = "true" //设置默认是否选中 code:checkBox对象.setChecked(true) //设置选择 checkBox对象.isChecked() //判断是否选择 返回值:boolean 2、RadioGroup 单选框 如果要实现单选的话,所有radioButton必需在同一个RadioGroup xml属性: 设置RadioGroup里面radioButton的排列方向 android:orientation="vertical" code: RadioGroup group = (RadioGroup) findViewById(R.id.radioGroup1); //查找被选中的radiobutton int id = group.getCheckedRadioButtonId(); RadioButton button = (RadioButton) findViewById(id); 设置选择的radiobutton: button.setChecked(true); 3、ProgressBar 进度条 有进度的进度条 xml:清单 android:max="300" //设置进度的总等分 android:progress="30" //设置当前进度 android:secondaryProgress="100" //设置第二进度 code:代码 mBar.setMax(100); mBar.setProgress(currenProgress++); mBar.setSecondaryProgress(currenProgress += 2); 圆形进度条(无进度的进度条) 控件通用属性: android:visibility="gone" 值:visible 可见 invisible 不可见但是占用空间 gone 不可见也不占用空间 mBar.setVisibility(View.VISIBLE); SeekBar: mSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { Log.e("SeekBar", "onStopTrackingTouch"); } @Override public void onStartTrackingTouch(SeekBar seekBar) { Log.e("SeekBar", "onStartTrackingTouch"); } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { Log.e("SeekBar", "onProgressChanged:" + progress); //当进度发生改变的时候就被调用 } }); RatingBar xml: android:numStars="3" //设置星数 android:rating="1.5" //设置被选中的星数 点击事件 ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { Log.e("RatingBar", "onRatingChanged:" + rating); } }); code:设置星数: ratingBar.setRating(float) //设置ratingbar不可拖拽 android:isIndicator="true" 4、TimePicker & DatePicker int hour = mTimePicker.getCurrentHour(); int minute = mTimePicker.getCurrentMinute(); int dayOfMonth = mDatePicker.getDayOfMonth(); int month = mDatePicker.getMonth(); int year = mDatePicker.getYear(); StringBuffer buffer = new StringBuffer(); buffer.append(year).append("/").append(month + 1) .append("/").append(dayOfMonth).append(" ").append(hour) .append(":").append(minute); mTextView.setText(buffer.toString()); 5、DatePickerDialog //获取日历对象 Calendar calendar = Calendar.getInstance(); DatePickerDialog datePickerDialog = new DatePickerDialog(this, new OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { StringBuffer buffer = new StringBuffer(); buffer.append(year).append("/").append(monthOfYear + 1) .append("/").append(dayOfMonth); mTextView.setText(buffer.toString()); } }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)); datePickerDialog.show(); 6、TimePickerDialog //获取日历对象 Calendar calendar = Calendar.getInstance(); TimePickerDialog dialog = new TimePickerDialog(this, new OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { StringBuffer buffer = new StringBuffer(); buffer.append(hourOfDay) .append(":").append(minute); mTextView.setText(buffer.toString()); } }, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true);
默认分类 | 阅读 1803 次
文章评论,共0条
游客请输入验证码
文章分类
最新评论