android中的RatingBar是星级评分条,相似于淘宝中购物后给予买家的星级评分。java
该实例是经过点击评分条,会弹出一个信息框,提示所打分数,监听评分条事件能够经过setOnRatingBarChangeListener()方法实现。android
首先是布局文件:app
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="main.test_ratingbar.MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="30sp" android:text="@string/tv1" /> <RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#ff0"/> <!-- background呈现黄色 --> </LinearLayout>
其次是strings.xml文件:ide
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Test_RatingBar</string> <string name="tv1">请打分:</string> </resources>
再次是android源码文件:布局
package main.test_ratingbar; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.widget.RatingBar; import android.widget.RatingBar.OnRatingBarChangeListener; import android.widget.Toast; public class MainActivity extends ActionBarActivity implements OnRatingBarChangeListener{ private RatingBar ratingBar=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ratingBar=(RatingBar) findViewById(R.id.ratingBar1); ratingBar.setOnRatingBarChangeListener(MainActivity.this); } @Override public void onRatingChanged(RatingBar arg0, float arg1, boolean arg2) {//第二个参数是点击时返回的评分值 Toast.makeText(MainActivity.this, "您打出的分数是:"+arg1, Toast.LENGTH_LONG).show(); } }
最后是测试结果:测试