Android开发之拖动条和评分组件用法分析

作者:青蛙小王子 时间:2022-01-15 02:55:18 

本文实例讲述了Android开发之拖动条和评分组件用法。分享给大家供大家参考,具体如下:

今天闲着没事做就拿出了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()]);
 }
});

效果图如下所示,我觉得还是挺好的。

Android开发之拖动条和评分组件用法分析

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();
 }
});

来看下效果吧

Android开发之拖动条和评分组件用法分析

希望本文所述对大家Android程序设计有所帮助。

标签:Android,拖动条,评分组件
0
投稿

猜你喜欢

  • java字符串常用操作方法(查找、截取、分割)

    2023-11-29 03:21:13
  • SpringBoot Test类注入失败的解决

    2023-05-20 13:59:40
  • C#实现登录窗口(不用隐藏)

    2021-11-21 09:30:24
  • Java毕业设计实战之宠物医院与商城一体的系统的实现

    2023-06-02 13:28:44
  • Android自定义View实现带数字的进度条实例代码

    2021-05-27 01:31:49
  • Java如何去掉指定字符串的开头的指定字符

    2022-05-23 13:28:31
  • Unity实现单机游戏每日签到系统

    2023-05-13 08:42:36
  • Android studio开发实现计算器功能

    2022-02-12 19:43:05
  • SpringBoot下使用MyBatis-Puls代码生成器的方法

    2023-11-25 17:07:07
  • 关于Java的Condition接口最佳理解方式

    2021-05-28 19:06:35
  • Java热门笔试试题整理

    2023-11-25 08:56:33
  • Android webview和js互相调用实现方法

    2022-06-03 13:11:59
  • 深入理解C♯ 7.0中的Tuple特性

    2023-10-28 09:33:14
  • ionic监听android返回键实现“再按一次退出”功能

    2021-12-24 10:22:57
  • java ArrayList和Vector的区别详解

    2023-03-08 14:47:05
  • java如何使用自己的maven本地仓库详解

    2022-08-01 12:13:44
  • Java判断主机是否能ping通代码实例

    2023-04-26 22:18:27
  • 详解Android Lint的原理及其使用

    2022-12-23 16:05:47
  • MyBatis 中 ${}和 #{}的正确使用方法(千万不要乱用)

    2023-11-29 05:02:37
  • java Apache poi 对word doc文件进行读写操作

    2023-09-23 02:13:15
  • asp之家 软件编程 m.aspxhome.com