Android RaingBar评分条的使用
概述
RatingBar是基于SeekBar和ProgressBar的擴(kuò)展,用星型來顯示等級評定。使用RatingBar的默認(rèn)大小時(shí),用戶可以觸摸/拖動或使用鍵來設(shè)置評分,它有兩種樣式(小風(fēng)格用ratingBarStyleSmall,大風(fēng)格用ratingBarStyleIndicator),其中大的只適合指示,不適合于用戶交互。
當(dāng)使用可以支持用戶交互的RatingBar時(shí),無論將控件(widgets)放在它的左邊還是右邊都是不合適的。
只有當(dāng)布局的寬被設(shè)置為wrap content時(shí),設(shè)置的星星數(shù)量(通過函數(shù)setNumStars(int)或者在XML的布局文件中定義)將顯示出來(如果設(shè)置為另一種布局寬的話,后果無法預(yù)知)。
次級進(jìn)度一般不應(yīng)該被修改,因?yàn)樗麅H僅是被當(dāng)作星型部分內(nèi)部的填充背景。
XML屬性
| android:isIndicator | RatingBar是否是一個指示器(用戶無法進(jìn)行更改)true/false |
| android:numStars | 顯示的星型數(shù)量,必須是一個整形值,像“100”。 |
| android:rating | 默認(rèn)的評分,必須是浮點(diǎn)類型,像“1.2”。 |
| android:stepSize | 評分的步長,必須是浮點(diǎn)類型,像“1.2”。 |
xml代碼
<?xml version="1.0" encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.zjs.ratingbar.MainActivity"><RatingBarandroid:id="@+id/ratingbar"android:layout_width="wrap_content"android:layout_height="wrap_content"android:isIndicator="false"android:maxHeight="75dp"android:minHeight="75dp"android:numStars="5"android:progressTint="@android:color/holo_green_light"android:rating="1"android:stepSize="0.5"/> </LinearLayout>Activity代碼
package com.zjs.ratingbar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private RatingBar mRatingBar;@Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();initlistener(); }private void initView() {mRatingBar = (RatingBar) findViewById(R.id.ratingbar); }private void initlistener() {mRatingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {@Overridepublic void onRatingChanged(RatingBar ratingBar, float rating, boolean formUser) {float rating1 = mRatingBar.getRating();int numStars = mRatingBar.getNumStars();float stepSize = mRatingBar.getStepSize();Toast.makeText(MainActivity.this, rating1 + " " + numStars + " " + stepSize + " ", Toast.LENGTH_SHORT).show();}}); }}
簡易效果圖
總結(jié)
以上是生活随笔為你收集整理的Android RaingBar评分条的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的电脑出现u盘图标怎么删除不掉(我的电
- 下一篇: Android使用MPAndroidCh