折叠家具,高官的新宠19楼,大秦帝国第二部
一、ratingbar简单介绍
ratingbar是基于seekbar(拖动条)和progressbar(状态条)的扩展,用星形来显示等级评定,在使用默认ratingbar时,用户可以通过触摸/拖动/按键(比如遥控器)来设置评分, ratingbar自带有两种模式 ,一个小风格 ratingbarstylesmall,大风格为ratingbarstyleindicator,大的只适合做指示,不适用与用户交互。
效果图展示:
二、实例
1.布局文件
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:paddingleft="10dip" android:layout_width="match_parent" android:layout_height="match_parent"> <ratingbar android:id="@+id/ratingbar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numstars="3" android:rating="2.5" /> <ratingbar android:id="@+id/ratingbar2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numstars="5" android:rating="2.25" /> <linearlayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margintop="10dip"> <textview android:id="@+id/rating" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ratingbar android:id="@+id/small_ratingbar" style="?android:attr/ratingbarstylesmall" android:layout_marginleft="5dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" /> </linearlayout> <ratingbar android:id="@+id/indicator_ratingbar" style="?android:attr/ratingbarstyleindicator" android:layout_marginleft="5dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" /> </linearlayout>
2.java代码
package wjq.widgetdemo; import android.app.activity; import android.os.bundle; import android.widget.ratingbar; import android.widget.textview; import android.widget.ratingbar.onratingbarchangelistener; public class ratingbardemo extends activity implements onratingbarchangelistener { private ratingbar msmallratingbar; private ratingbar mindicatorratingbar; private textview mratingtext; /* * (non-javadoc) * * @see android.app.activity#oncreate(android.os.bundle) */ @override protected void oncreate(bundle savedinstancestate) { // todo auto-generated method stub super.oncreate(savedinstancestate); setcontentview(r.layout.ratingbarpage); mratingtext = (textview) findviewbyid(r.id.rating); // we copy the most recently changed rating on to these indicator-only // rating bars mindicatorratingbar = (ratingbar) findviewbyid(r.id.indicator_ratingbar); msmallratingbar = (ratingbar) findviewbyid(r.id.small_ratingbar); // the different rating bars in the layout. assign the listener to us. ((ratingbar)findviewbyid(r.id.ratingbar1)).setonratingbarchangelistener(this); ((ratingbar)findviewbyid(r.id.ratingbar2)).setonratingbarchangelistener(this); } @override public void onratingchanged(ratingbar ratingbar, float rating, boolean fromuser) { final int numstars = ratingbar.getnumstars(); mratingtext.settext( " 受欢迎度" + rating + "/" + numstars); // since this rating bar is updated to reflect any of the other rating // bars, we should update it to the current values. if (mindicatorratingbar.getnumstars() != numstars) { mindicatorratingbar.setnumstars(numstars); msmallratingbar.setnumstars(numstars); } if (mindicatorratingbar.getrating() != rating) { mindicatorratingbar.setrating(rating); msmallratingbar.setrating(rating); } final float ratingbarstepsize = ratingbar.getstepsize(); if (mindicatorratingbar.getstepsize() != ratingbarstepsize) { mindicatorratingbar.setstepsize(ratingbarstepsize); msmallratingbar.setstepsize(ratingbarstepsize); } } }
关于android控件之ratingbar自定义星级评分样式就给大家介绍这里,希望对大家有所帮助,本文写的不好还请各位大侠多多指教!
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论