Android ratingbar示例

时间:2020-02-23 14:29:10  来源:igfitidea点击:

ratingbar是Android小部件,用于提供与星形图标的评级列。
当任何应用程序要求我们加入安装的应用程序时,我们可能已经看到了此速率。

在Android中创建评分条是非常容易的。
只需执行以下步骤即可创建评分条。

第1步:创建项目

创建一个Android应用程序ProjectNamed"ratingbarexampleapp"。

第2步:创建布局

更改RES - >布局 - > Activity_main.xml如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:paddingBottom="@dimen/activity_vertical_margin"
 android:paddingLeft="@dimen/activity_horizontal_margin"
 android:paddingRight="@dimen/activity_horizontal_margin"
 android:paddingTop="@dimen/activity_vertical_margin"
 android:orientation="vertical" >
 
 <TextView
 android:id="@+id/rateApp"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Rate this application"
 android:textAppearance="?android:attr/textAppearanceMedium" 
 
 <RatingBar
 android:id="@+id/ratingBar"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:paddingTop="@dimen/activity_vertical_margin"
 android:numStars="5"
 android:stepSize="0.5"
 android:rating="3.0" 
 
 <Button
 android:id="@+id/button"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:paddingTop="@dimen/activity_vertical_margin"
 android:text="Submit" 
 
 <TextView
 android:id="@+id/ratingVal"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:paddingTop="@dimen/activity_vertical_margin"
 android:text=""
 android:textAppearance="?android:attr/textAppearanceLarge" 
 
</LinearLayout>

第3步:创建MainActivity

更改src/main/packageName/mainActivity.java如下:

package com.theitroad.ratingbarexampleapp;
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View.OnClickListener;
import android.widget.RatingBar.OnRatingBarChangeListener;
 
public class MainActivity extends AppCompatActivity {
 
    private RatingBar ratingBar;
    private Button button;
    private TextView ratingVal;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ratingBar = (RatingBar) findViewById(R.id.ratingBar);
        ratingVal=(TextView) findViewById(R.id.ratingVal);
        ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
 
            public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
 
                ratingVal.setText("Current Rating  : "+String.valueOf(rating));
 
            }
        });
        button = (Button) findViewById(R.id.button);
 
        button.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View v) {
 
                Toast.makeText(MainActivity.this, String.valueOf(ratingBar.getRating()), Toast.LENGTH_LONG).show();
            }
 
        });
 
    }
}

我们正在从布局文件中获取小部件引用,然后使用ratingbar setOnratingBarchAngUlistEner方法为我们的速度设置侦听器。