欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发之自定义星星评分控件RatingBar用法示例

程序员文章站 2022-11-14 10:09:40
本文实例讲述了android开发之自定义星星评分控件ratingbar用法。分享给大家供大家参考,具体如下: 星级评分条ratingbar类似于seekbar、progr...

本文实例讲述了android开发之自定义星星评分控件ratingbar用法。分享给大家供大家参考,具体如下:

星级评分条ratingbar类似于seekbar、progressbar'等等都可以自定义样式

它的主要用途就比如淘宝、景点 满意度等

这里给出两种自定义效果

Android开发之自定义星星评分控件RatingBar用法示例

如图所示 第一种是通过ratingbar获得分数 第二个是通过ratingbar动态调节控件属性(透明度)

由于ratngbar使用简单

自定义样式方法和 一样

在drawable中建一个xml文件写一个 layer-list 就行

这里直接给出它的使用方法:

public class mainactivity extends activity {
  ratingbar ratingbar ;ratingbar ratingbar02 ;
  textview textview ;
  imageview imageview ;
  @override
  protected void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.activity_main);
    ratingbar = (ratingbar) findviewbyid(r.id.rating);
    ratingbar02 = (ratingbar) findviewbyid(r.id.rating02);
    textview = (textview) findviewbyid(r.id.textview);
    imageview = (imageview) findviewbyid(r.id.image);
    ratingbar.setonratingbarchangelistener(new ratingbar.onratingbarchangelistener() {
      @override
      public void onratingchanged(ratingbar ratingbar, float rating, boolean fromuser) {
        textview.settext(string.valueof((int) (rating)));
      }
    });
    ratingbar02.setonratingbarchangelistener(new ratingbar.onratingbarchangelistener() {
      @override
      public void onratingchanged(ratingbar ratingbar, float rating, boolean fromuser) {
        imageview.setalpha((int)(rating*255/5));
      }
    });
  }
}

然后是布局文件:

文件中的属性 与progressbar一样

<?xml version="1.0" encoding="utf-8" ?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical">
  <textview
    android:id="@+id/textview"
    android:layout_width="match_parent"
    android:layout_height="75dp"
    android:gravity="center_horizontal"
    android:textsize="50dp"/>
  <!--android:progressdrawable自定义样式-->
  <ratingbar
    android:id="@+id/rating"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:numstars="5"
    android:max="255"
    android:progress="255"
    android:stepsize="0.5"/>
  <imageview
    android:id="@+id/image"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/huangjindiao"/>
  <ratingbar
    android:id="@+id/rating02"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:numstars="5"
    android:progressdrawable="@drawable/my_bar"
    android:stepsize="0.5"/>
</linearlayout>

更多关于android相关内容感兴趣的读者可查看本站专题:《android控件用法总结》、《android开发入门与进阶教程》、《android视图view技巧总结》、《android编程之activity操作技巧总结》、《android数据库操作技巧总结》及《android资源操作技巧汇总

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