Cách sử dụng Rating Bar trong Android

Xem: 3822    Tải: 0   Thảo luận: 0   Mục: Android   Lĩnh vực: Khác

9 điểm   ( 10 đánh giá ) File đã được kiểm thử


Rating Bar trong Android có tác dụng để xem đánh giá bình chọn của người dùng đối với 1 sự kiện gì đó. Việc sử dụng Rating Bar cũng rất phổ biến, đơn giản các bạn có thể nhìn phía dưới bài viết này, sẽ có 1 mục Rating với các ngôi sao, đó chính là Rating Bar.

Hôm nay tôi xin hướng dẫn cách sử dụng Rating Bar trong Android.

1. Xây dựng giao diện

Để lấy ví dụ về Rating Bar tôi sẽ làm một ví dụ nhỏ như sau : Đánh giá chất lượng của blog bao gồm 1 Rating Bar và 1 button phía dưới. Khi người dùng bình chọn xong và click vào button sẽ chuyển sang màn hình thông báo và lời cảm ơn !

Để làm được điều này tôi cần 2 file XML.

activity_main.xml

<LinearLayout 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"
 tools:context=".MainActivity" >
 
<TextView
 android:id="@+id/textView1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textSize="15sp"
 android:layout_marginTop="10sp"
 android:textColor="#FF0000"
 android:text="Đánh giá chất lượng blog GOCLAPTRINH.COM" />
 
<RatingBar
 android:id="@+id/ratingBar"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content" />
 
<Button
 android:id="@+id/btDanhGia"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_gravity="center_horizontal"
 android:background="#FF0000"
 android:textColor="#ffffff"
 android:textSize="30sp"
 android:gravity="center"
 android:text="Đánh giá" />
 
</LinearLayout>

danh_gia.xml dùng để thị sau khi người dùng click vào button Đánh giá.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical" >
 
<TextView
 android:id="@+id/tvDanhGia"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textSize="14sp" />
 
<TextView
 android:id="@+id/textView1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Cảm ơn bạn đã bình chọn. Click Back để quay lại trang chủ !"
 android:textSize="14sp" />
 
<Button
 android:id="@+id/btBack"
 android:text="Back"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_gravity="center_horizontal"/>
 
</LinearLayout>

2. Xử lý code.

Tương tự như phần giao diện ta cũng cần có 2 activity để xử lý. việc xử lý chuyển đổi activity trong Android tôi đã có bài hướng dẫn ở trước đó rồi.

MainActivity.java

package com.example.ratingbardemo;
 
import android.media.Rating;
import android.os.Bundle;
import android.provider.Telephony.Mms.Rate;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
 
public class MainActivity extends Activity {
 Button btDanhGia;
 RatingBar ratingBar;
 String txtRating;
 
@Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 btDanhGia = (Button) findViewById(R.id.btDanhGia);
 ratingBar = (RatingBar) findViewById(R.id.ratingBar);
 ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
 
@Override
 public void onRatingChanged(RatingBar ratingBar, float rating,
 boolean fromUser) {
 // TODO Auto-generated method stub
 txtRating = String.valueOf(rating);
 
}
 });
 
btDanhGia.setOnClickListener(new OnClickListener() {
 
@Override
 public void onClick(View v) {
 // TODO Auto-generated method stub
 Intent i = new Intent(getApplicationContext(), danh_gia.class);
 i.putExtra("Rating", txtRating);
 startActivity(i);
 }
 });
 }
 
@Override
 public boolean onCreateOptionsMenu(Menu menu) {
 // Inflate the menu; this adds items to the action bar if it is present.
 getMenuInflater().inflate(R.menu.main, menu);
 return true;
 }
 
}

danh_gia.java

package com.example.ratingbardemo;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
 
public class danh_gia extends Activity {
 private TextView tvDanhGia;
 private Button btBack;
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.danh_gia);
 tvDanhGia = (TextView) findViewById(R.id.tvDanhGia);
 btBack = (Button) findViewById(R.id.btBack);
 Intent i = getIntent();
 String rating = i.getStringExtra("Rating");
 tvDanhGia.setText("Bạn đã bình chọn : " + rating + " sao.");
 btBack.setOnClickListener(new OnClickListener() {
 
 @Override
 public void onClick(View v) {
 // TODO Auto-generated method stub
 Intent i = new Intent(getApplicationContext(), MainActivity.class);
 startActivity(i);
 }
 });
 }
}

Ảnh demo:

 

Cách sử dụng Rating Bar trong Android

Cách sử dụng Rating Bar trong Android Đăng ngày 11-02-2014  Rating Bar trong Android có tác dụng để xem đánh giá bình chọn của người dùng đối với 1 sự kiện gì đó. Việc sử dụng Rating Bar cũng rất phổ biến, đơn giản các bạn có thể nhìn phía dưới bài viết này, sẽ có 1 mục Rating với các ngôi sao, đó chính là Rating Bar. 0.9/10 3822

Thảo luận:

Để bình luận bạn phải đăng nhập thành viên.

File tương tự

Files cùng mục

 

File tải nhiều nhất

Megacode.vn - Thư viện mã nguồn chia sẻ, tải file cho cộng đồng
Copyright © 2013-2016. All rights reserved. Bản quyền thuộc VinaGon
Địa chỉ: Số 38 Hàng Bè, Hàng Bạc, Hoàn Kiếm, Hà Nội.
Văn phòng giao dịch: Phòng 28, Tầng 6, HH1A Linh Đàm, Hoàng Mai, Hà Nội
Email: info@vinagon.com | Website: www.vinagon.com | Điện thoại: (+844) 6. 32.979.36;
logo megacode

Megacode đã đăng ký với Bộ Công Thương
Thư viện mã nguồn mở lớn nhất Việt Nam.



Hỗ trợ khách hàng trên Megacode
Hỗ trợ kỹ thuật cho thành viên:
Tổng đài: (+84) 246. 32.979.36
Số di động (Hotline): 0969.091.265
Thời gian làm việc:
Sáng: 8h-12h; Chiều: 13h30-17h30
(Nghỉ chiều T7, CN và các ngày lễ, tết)
Chat với Megacode
https://www.facebook.com/megacodevn