Android学习笔记(四)CheckBox、RadioGroup、ProgressBar
一、多选按钮-CheckBox
用法:首先也是通过控件ID来得到代表控件的对象,然后为其添加监听器。
设置监听器代码:
swimBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub if(isChecked) { System.out.println("swim is checked"); } else { System.out.println("swim is unchecked"); } } }); <divre mce_tmp="1"><pre></pre> <p><font class="" style="FONT-FAMILY: " color="#ff7e00"> <p> 其中,swimBox是CompoundButton的子类,所以他可以向上转型为CompoundButton的类型,将参数传进。</p></font></p></divre>
二、单选按钮-RadioGroup
用法:同CheckBox
设置监听器代码:
genderGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub if(femaleButton.getId() == checkedId){ System.out.println("famale"); Toast.makeText(RadioTest.this, "famle", Toast.LENGTH_SHORT).show(); } else if(maleButton.getId() == checkedId) { System.out.println("male"); } } }); <divre mce_tmp="1"><pre></pre></divre>
三、进度条-ProgressBar
.xml文件中定义如下:水平进度条
<ProgressBar android:id="@+id/firstBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="200dp" android:layout_height="wrap_content" android:visibility="gone" //是否可视的状态,gone是不可视的 /> <divre mce_tmp="1"><pre></pre> <p><font class="" style="FONT-FAMILY: " color="#464646"> <p> 默认的进度条最大值是100,如上例子,若想进度条自定义,则用:android:max="xxx"即可,也可以在代码里面设置。如:下面例子中!</p></font></p></divre>
再看一个控件
<ProgressBar android:id="@+id/secondBar" style="?android:attr/progressBarStyle" //这里的progressBarStyle是默认的风格,就是那个一直转的圆圈 droid:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="gone" /> <divre mce_tmp="1"><pre></pre> <p> </p></divre>
Activity中实现进度条:
class ButtonListener implements OnClickListener{ @Override public void onClick(View v) { if(i == 0) { //设置进度条处于可见的状态 firstBar.setVisibility(View.VISIBLE); firstBar.setMax(150); //代码中设置进度条的最大值 secondBar.setVisibility(View.VISIBLE); } else if ( i < firstBar.getMax()){ //设置主进度条的当前值 firstBar.setProgress(i); //设置第二进度条的当前值 firstBar.setSecondaryProgress(i + 10); //因为默认的进度条无法显示进行的状态 //secondBar.setProgress(i); } else{ //设置进度条处于不可见状态 firstBar.setVisibility(View.GONE); secondBar.setVisibility(View.GONE); } i = i + 10 ; } }
相关新闻>>
- 发表评论
-
- 最新评论 更多>>