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

 更新时间:2017年07月18日 09:58:19   作者:青蛙小王子  
这篇文章主要介绍了Android开发之拖动条和评分组件用法,结合实例形式较为详细的分析了Android拖动条及评分组件的布局与功能实现技巧,需要的朋友可以参考下

本文实例讲述了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()]);
  }
});

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

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开发入门与进阶教程》、《Android布局layout技巧总结》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android资源操作技巧汇总》及《Android控件用法总结

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

相关文章

  • Android利用GridView实现单选效果

    Android利用GridView实现单选效果

    本篇文章主要介绍了Android利用GridView实现单选效果的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-05-05
  • Android界面刷新的方法分享

    Android界面刷新的方法分享

    Android界面刷新的方法分享,需要的朋友可以参考一下
    2013-05-05
  • 详解Android Flutter中SliverAppBar的使用教程

    详解Android Flutter中SliverAppBar的使用教程

    对于一个APP来说,肯定会有一个AppBar,这个AppBar一般包含了APP的导航信息等。在lutter已经为我们提供了一个非常强大的AppBar组件,这个组件叫做SliverAppBar。本文就来聊聊它的具体使用吧
    2023-01-01
  • kotlin Context使用详解

    kotlin Context使用详解

    这篇文章主要介绍了kotlin Context使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Android实践之带加载效果的下拉刷新上拉加载更多

    Android实践之带加载效果的下拉刷新上拉加载更多

    这篇文章主要给大家介绍了关于Android实践之下拉刷新上拉加载更多的相关资料,实现的效果在现在的很多项目中都能用到,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-12-12
  • Android使用ImageView实现支持手势缩放效果

    Android使用ImageView实现支持手势缩放效果

    这篇文章主要介绍了Android使用ImageView实现支持手势缩放效果,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • android 使用okhttp可能引发OOM的一个点

    android 使用okhttp可能引发OOM的一个点

    这篇文章主要介绍了android 使用okhttp可能引发OOM的一个点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Android自定义控件案例汇总2(自定义开关、下拉刷新、侧滑菜单)

    Android自定义控件案例汇总2(自定义开关、下拉刷新、侧滑菜单)

    这篇文章主要介绍了Android自定义控件案例汇总,自定义开关、Listview实现下拉刷新、侧滑菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Android中实现在矩形框中输入文字显示剩余字数的功能

    Android中实现在矩形框中输入文字显示剩余字数的功能

    在矩形输入框框中输入文字显示剩余字数的功能在app开发中经常会见到,今天小编就通过实例代码给大家分享android实现输入框提示剩余字数功能,代码简单易懂,需要的朋友参考下吧
    2017-04-04
  • Android ViewModel与Lifecycles和LiveData组件用法详细讲解

    Android ViewModel与Lifecycles和LiveData组件用法详细讲解

    JetPack是一个开发组件工具集,他的主要目的是帮助我们编写出更加简洁的代码,并简化我们的开发过程。JetPack中的组件有一个特点,它们大部分不依赖于任何Android系统版本,这意味者这些组件通常是定义在AndroidX库当中的,并且拥有非常好的向下兼容性
    2023-01-01

最新评论