对话框告一段落了,今天闲着没事做就拿出了android书接着学习,android就是组件多有时候还会弄混淆了。这次介绍的是拖动条和评分组件,这2个组件也是超级简单的

下面就一个一个的来研究。

1.拖动条,就类似android手机上调节音量那个,该组件和对话框不同的是用户可以操作。该组件的xml表现形式如下

 <SeekBar       android:id="@+id/seek"       android:layout_marginLeft="20dip"       android:layout_width="fill_parent"       android:layout_height="wrap_content"/>

光这样太枯燥了,这里我做了个拖动切换图片的小例子。这里就要介绍下拖动条的长度了这个长度是可控制的像这里我有5张图片拖动条的size就是5.这个设置我直接写在了程序里。实现很简单就是在拖动条的基础上加个ImageView,然后对拖动条进行拖动的监听值改变了就切换ImageView就好了。下面是主要代码。


                bar=(SeekBar)this.findViewById(R.id.seek);imageview=(ImageView)this.findViewById(R.id.img);bar.setMax(5);bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {public void onStopTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}public void onStartTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {//切换图片imageview.setImageResource(imagedata[seekBar.getProgress()]);}});
效果图如下所示,我觉得还是挺好的。



2.下面就是评分插件了,android默认情况下是五角星,如果有必要可以弄成别的

这里我弄了一种自定义的类型,来看下吧

(1)在drawable下面弄个xml文件内容如下

<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">  <item android:id="@+android:id/background"        android:drawable="@drawable/star_empty"  />   <item android:id="@+android:id/secondaryProgress"        android:drawable="@drawable/star_empty"  />   <item android:id="@+android:id/progress"        android:drawable="@drawable/star_full"  /></layer-list>

star_empty是灰色的五角星,star_full是黄色的五角星。上面的配置文件理解起来也很简单,下面就把这个样式嵌入到评分组件上,首先还是写个样式文件

<?xml version="1.0" encoding="utf-8"?><resources>  <style     name="ratingbarstyle"    parent="@android:style/Widget.RatingBar">    <item name="android:progressDrawable">        @drawable/starconfig    </item>    <item name="android:minHeight">53dip</item>     <item name="android:maxHeight">53dip</item>  </style></resources>

顺便说明下starconfig就是上面那个配置文件,下面就是标签了,该组件的常用属性是步长、星星的个数就像下面这样

 <RatingBar        android:id="@+id/rating"        android:numStars="5"        android:stepSize="1"        style="@style/ratingbarstyle"        android:layout_width="wrap_content"        android:layout_height="wrap_content"/>

后面也自然是事件处理了

rbar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {public void onRatingChanged(RatingBar ratingBar, float rating,boolean fromUser) {int num=(int)rating;String result=null;switch (num) {case 1:result="非常不满意";break;                case 2:                result="不满意";break;                case 3:                result="还可以";break;                case 4:                result="满意";break;                case 5:                result="非常满意";break;default:break;}Toast.makeText(MyDailogActivity.this, result, 1).show();}});
来看下效果吧




更多相关文章

  1. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Fedora镜像
  2. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  3. Android(安卓)ListView组件中android:drawSelectorOnTop含义
  4. 2011.06.20——— android listview的拖拽
  5. Android菜鸟进阶之路一-Android基础
  6. 2010.11.11———Android(安卓)TabHost选项卡组件
  7. Android移动开发
  8. popwindow动画显示消失,activity切换动画
  9. Android四大组件之~~BroadcastReceiver

随机推荐

  1. android 自定义属性通过反射关联组件与方
  2. Android(安卓)Developers:建立你的第一个
  3. android 通讯录的增删改查
  4. Android Afinal框架学习(一) FinalDb 数
  5. android ApplicationInfo类
  6. 一篇文章看明白 Android(安卓)从点击应用
  7. Android N来电拦截
  8. Android:Groovy基础语法
  9. Android App Market
  10. android中一个activity实现多个xml页面互