当前位置: 首页 > 编程笔记 >

Android星级评分条控件RatingBar使用详解

陆烨磊
2023-03-14
本文向大家介绍Android星级评分条控件RatingBar使用详解,包括了Android星级评分条控件RatingBar使用详解的使用技巧和注意事项,需要的朋友参考一下

Android开发中,时不时的就有要实现星星的评分效果,比如某宝,某团,相信大家也都见过,当然了我们可以自己去画,也可以用美工给切的图去实现,其实在Android原生的控件中就可以来实现这样的效果,它就是RatingBar。
来,我们先看一张图(只在代码中引入了控件)

实现效果如下图:

我们先看一下它的继承关系:这玩意和SeekBar的类结构是一样的,也是ProgressBar的子类

相关属性:

android:isIndicator:是否用作指示,用户无法更改,默认false
android:numStars:显示多少个星星,必须为整数
android:rating:默认评分值,必须为浮点数
android:stepSize: 评分每次增加的值,必须为浮点数
除了上面这些,还有两种样式供我们选择咧,但是不建议使用,因为这两种样式都好丑... 他们分别是:
style="?android:attr/ratingBarStyleSmall"
style="?android:attr/ratingBarStyleIndicator"
事件处理: 只需为RatingBar设置OnRatingBarChangeListener事件,然后重写下onRatingChanged()方法即可!
实现代码如下:

public class MainActivity extends AppCompatActivity {
 private RatingBar rb_normal;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 rb_normal = (RatingBar) findViewById(R.id.rb_normal);
 rb_normal.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
  @Override
  public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
  Toast.makeText(MainActivity.this, "rating:" + String.valueOf(rating),
   Toast.LENGTH_LONG).show();
  }
 });
 }
}

自定义样式阶段:
接下来和前面的SeekBar一样编写一个layer-list的文件:
ratingbar_full.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="@mipmap/ic_rating_off1" />
 <item android:id="@android:id/secondaryProgress"
 android:drawable="@mipmap/ic_rating_off1" />
 <item android:id="@android:id/progress"
 android:drawable="@mipmap/ic_rating_on1" />
</layer-list> 

接着在style.xml中自定义下RatingBar Style,在style.xml加上这个:

<style name="roomRatingBar" parent="@android:style/Widget.RatingBar">
 <item name="android:progressDrawable">@drawable/ratingbar_full</item>
 <item name="android:minHeight">24dip</item>
 <item name="android:maxHeight">24dip</item>
 </style>

最后在布局中的Ratingbar组件设置下:

<RatingBar
 android:id="@+id/rb_normal"
 style="@style/roomRatingBar"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content" />

可以实现效果如下图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 主要内容:本节引言:,1.RatingBar基本使用:,2.定制环节:,本节小结:本节引言: 上一节的SeekBar是不是很轻松咧,本节我们学的这个RatingBar(星级评分条)也非常简单,相信在某宝, 买过东西的对这个应该不陌生,收到卖家的包裹,里面很多时候会有个小纸片,五星好评返还多少元这样, 而评分的时候就可以用到我们这个星级评分条了~先来瞅瞅官方文档 官方文档:RatingBar 我们可以看到,这玩意和SeekBar的类结构是一样的,也是ProgressBar的子类:

  • 本文向大家介绍Android RatingBar星星评分控件实例代码,包括了Android RatingBar星星评分控件实例代码的使用技巧和注意事项,需要的朋友参考一下 效果图: 直接上代码: xml文件: Java代码: 以上所述是小编给大家介绍的Android RatingBar 评分控件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网

  • 本节将继续学习一个和进度有关的控件:RatingBar ,在 Android 中 RatingBar 是一个可以支持用户打分的 UI 控件,相比 ProgressBar 而言,RatingBar 不仅仅可以用来展示同时还可以接收用户的输入操作;而相比 SeekBar,RatingBar 则更侧重于与用户的互动性。有了前两节的基础,这一节理解起来也是非常容易的。 1. RatingBar 的特性 从

  • 本文向大家介绍Android评分控件RatingBar使用实例解析,包括了Android评分控件RatingBar使用实例解析的使用技巧和注意事项,需要的朋友参考一下 无论游戏,应用,网站,都少不了评分控件。在Android SDK 中提供了 RatingBar控件来实现相应的工作。 <RatingBar/>标签有几个常用评分相关属性 android:numStars,指定评分五角星数。 andr

  • 本文向大家介绍Android UI控件RatingBar实现自定义星星评分效果,包括了Android UI控件RatingBar实现自定义星星评分效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android RatingBar星星评分效果的具体代码,供大家参考,具体内容如下 继承关系 AppCompatRatingBar 效果图 xml 上面这些属性也可以用java代码设置。

  • 本文向大家介绍Android评分RationBar控件使用详解,包括了Android评分RationBar控件使用详解的使用技巧和注意事项,需要的朋友参考一下 Android评分RationBar控件,供大家参考,具体内容如下 主要是不想用太多三方的控件,所以决定尽可能自己写,最近有写一个评分的页面,废话不多说直接上图 我觉得嘛 这个东西用ViewGroup包起来感觉会写很多View 于是我决定使