RatingBar -- 用於淘寶那種五角星評分android
//res/layout 佈局界面有 一個默認的RatingBar
//一個自定義的RatingBar 和一個 俺就 控件
一、在res/layout 佈局 界面 佈局控件app
代碼ide
<RelativeLayout xmlns: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"
android:orientation="vertical" >佈局
<LinearLayout
android:id="@+id/one_linear"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="horizontal" >this
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="評分:"
android:textSize="25sp" />xml
<RatingBar
android:id="@+id/ratingbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>圖片
<Button
android:id="@+id/submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/one_linear"
android:layout_centerInParent="true"
android:text="提交"
android:textSize="40sp"
android:onClick="onclick"/>get
<LinearLayout
android:id="@+id/two_linear"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/submit"
android:orientation="horizontal" >it
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="結果:"
android:textSize="25sp" />
<!-- 設置numStars = 5 表示 自定義 星星的個數 -->
<RatingBar
android:id="@+id/ratingbar_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:progressDrawable="@drawable/my_image" />
</LinearLayout>io
</RelativeLayout>
---------------------------
二、在res/drawable-hdpi導入五角星圖片
//一個沒顏色的(等待評分的五角星)
//另一個是有顏色的 -- 表示評分後的 五角星
-----------------------------
三、在MainActivity 實現評分的功能代碼
代碼
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.Toast;
public class MainActivity extends Activity {private RatingBar ratingbar;private RatingBar ratingbar_result; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ratingbar = (RatingBar) this.findViewById(R.id.ratingbar); ratingbar_result = (RatingBar) this.findViewById(R.id.ratingbar_result); /*ratingbar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar arg0, float arg1, boolean arg2) { // TODO Auto-generated method stub } });*/ } public void onclick(View view){//得到 當前的評分 float f = ratingbar.getRating(); Toast.makeText(this, "評分結果:" + f, Toast.LENGTH_SHORT).show();//設置結果評分 ratingbar_result.setRating(f); }}