Header ads

Header ads
» » RatingBar

RatingBar trong Android

Android RatingBar có thể được sử dụng để có được những đánh giá từ người dùng. Rating trả về một số dấu chấm động. Nó có thể là 2.0, 3.5, 4.0, vv . Android RatingBar hiển thị các đánh giá trong các sao. 

Android RatingBar là class con của class AbsSeekBar.

 

 

RatingBar code trong XML

  <RatingBar  android:id="@+id/simpleRatingBar"  android:layout_width="wrap_content"  android:layout_height="wrap_content" />
Một vài phương thức thường sử dụng:
Phương thức Ý nghĩa
public Float getRating() Phương thức trả về số lần đánh giá từ người sử dụng
public int getNumStars() Phương thức này lấy số lượng ngôi sao của RantingBar

Thuộc tính thường dùng của Button

Bây giờ chúng xem một số thuộc tính hay sử dụng trong Button trong tập tin XML

1. android:id: Là thuộc tính duy nhất của RatingBar.

  <RatingBar  android:id="@+id/simpleRatingBar"  android:layout_width="wrap_content"  android:layout_height="wrap_content"/>

Dựa vào Id ta sẽ lấy được control theo đúng Id này, xem code bên dưới để biết cách lấy control theo Id:

  RangtingBar simpleRangtingBar= (CheckBox) findViewById(R.id.simpleRangtingBar);

2. android:background: Thuộc tính này xác định màu nền cho RatingBar. Ví dụ chúng ta thiết màu nên cho RatingBar sau là màu đỏ.

  <RatingBar  android:id="@+id/simpleRatingBar"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:background="#f00"/> <!-- Thiết lập màu nền là màu đỏ -->

Thiết lập màu nền của RatingBar trong Java class

  RatingBar simpleRatingBar = (RatingBar) findViewById(R.id.simpleRatingBar); // initiate a rating bar  simpleRatingBar.setBackgroundColor(Color.RED); // Thiết lập màu nền cho RangtingBar

3. android:numStars: thuộc tính numStars dùng để thiết lập số lượng ngôi sao để hiển thị trong một RatingBar. Mặc định là hiển thị 5 ngôi sao, chúng ta có thể thay đổi số lương ngôi sao thông qua thuộc tính numStar:

Số lương ngôi sao phải là số nguyên:1,2,3 .v.v.

Ví dụ hiển thị 7 ngôi sao trong RatingBar

  <RatingBar  android:id="@+id/simpleRatingBar"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:numStars="7"/> <!-- Số lượng ngôi sao là 7 -->

Thiết lập số lượng ngôi sao trong RatingBar

  RatingBar simpleRatingBar = (RatingBar) findViewById(R.id.simpleRatingBar); // initiate a rating bar  simpleRatingBar.setNumStars(7); // Tổng số ngôi sao là 7

4. android:rating: Thuộc tính rating thiết lập mặc định một số ngôi sao được đánh giá. giá trị thuộc tính này phải là số thực. Ví dụ thiết lập mặc định cho thuộc tính android:rating="3.5" 

  <RatingBar  android:id="@+id/simpleRatingBar"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:rating="3.5"/> 

Thiết lập mặc định thuộc tính rating trong java class

  /*Add in Oncreate() funtion after setContentView()*/  RatingBar simpleRatingBar = (RatingBar) findViewById(R.id.simpleRatingBar); // initiate a rating bar  simpleRatingBar.setRating((float) 3.5); // Thiết lập mặc định 3.5 ngôi sao

5. android:padding: Thuộc tính này xác định khoảng cách từ đường viền của RatingBar với các ngôi sao nó chứa: left, right, top or bottom. Cũng ví dụ trên bây giờ chúng ta xác định padding=30sp từ mọi phía của RatingBar. Cũng ví dụ trên bây giờ chúng ta xác định padding=30sp từ mọi phía của RatingBar.

  <RatingBar  android:id="@+id/simpleRatingBar"  android:layout_width="fill_parent"  android:layout_height="wrap_content"  android:padding="30sp" />


Ví dụ: Trong ví dụ này chúng ta sẽ làm ứng dụn gồm có 1 RatingBar và 1 Button. Để xem tổng số ngôi sao và số lượng đánh giá khi người sử dụng click vào Button trên màn hình, thông tin hiển thị thông qua đối tượng Toast. Tiến hành tạo project, vào thư mục  res /layout -> activity_main.xml  thiết kế giao diện sau:

Bước 1: Tạo một project tên là RatingBarFile->New->Android Application Project điền các thông tin ->Next ->Finish

Bước 2: Mở res -> layout -> xml (hoặc) activity_main.xml và thêm code, chúng ta sẽ tạo các đối tượng RatingBarvà Button trong  Relative Layout.

  <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:paddingBottom="@dimen/activity_vertical_margin"      android:paddingLeft="@dimen/activity_horizontal_margin"      android:paddingRight="@dimen/activity_horizontal_margin"      android:paddingTop="@dimen/activity_vertical_margin"      tools:context="hiepsiit.com.rantingbar.MainActivity" >    <RatingBar      android:id="@+id/simpleRatingBar"      android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:rating="3.5"      android:background="#f00"/>    <Button      android:id="@+id/btnRatingBar"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_alignLeft="@+id/simpleRatingBar"      android:layout_below="@+id/simpleRatingBar"      android:layout_marginLeft="34dp"      android:layout_marginTop="50dp"      android:background="#fcc"      android:text="Rating bar" />     </RelativeLayout>  

Bước 3: Mở app -> src ->MainActivity.java và thêm code. Khi click vào Button "Rating Bar" sẽ hiển thị số ngôi sao và số lượng đánh giá.

  package hiepsiit.com.rantingbar;    import android.app.Activity;  import android.os.Bundle;  import android.view.Menu;  import android.view.MenuItem;  import android.view.View;  import android.view.View.OnClickListener;  import android.widget.Button;  import android.widget.RatingBar;  import android.widget.Toast;    public class MainActivity extends Activity {  	Button btnRatingBar;  	RatingBar simpleRatingBar;  	@Override  	protected void onCreate(Bundle savedInstanceState) {  		super.onCreate(savedInstanceState);  		setContentView(R.layout.activity_main);  		simpleRatingBar =	(RatingBar)	findViewById(R.id.simpleRatingBar);  		btnRatingBar	=	(Button)	findViewById(R.id.btnRatingBar);  		btnRatingBar.setOnClickListener(new OnClickListener() {  			  			@Override  			public void onClick(View arg0) {  				// TODO Auto-generated method stub  				Toast.makeText(getApplication(), "Tổng số ngôi sao:"+simpleRatingBar.getNumStars()+" \nSố lượng đánh giá:"+simpleRatingBar.getRating(), Toast.LENGTH_LONG).show();  				  			}  		});  	}    }  

 


Download ví dụ

Ứng dụng này được phát triển bởi adt bundleandroid 4.2 sử dụng minimum sdk 11  and target sdk 21.


Kết quả khi chạy ứng dụng:

Sau đó Click vào Button "Rating Bar":


Ví dụ tùy biến (Custom) lại RatingBar

Trong ví dụ này chúng ta sẽ tùy biến lại đối tượng RatingBar, chúng ta sẽ hiển thị một thanh RatingBar có 5 ngôi sao đã tùy biến lại. Chúng ta sẽ làm ứng dụn gồm có 1 RatingBar và 1 Button. Để xem tổng số ngôi sao và số lượng đánh giá khi người sử dụng click vào Button trên màn hình, thông tin hiển thị thông qua đối tượng Toast. Tiến hành tạo project, vào thư mục  res /layout -> activity_main.xml  thiết kế giao diện sau:

Bước 1: Tạo một project tên là CustomRatingBarFile->New->Android Application Project điền các thông tin ->Next ->Finish

Bước 2: Mở res -> layout -> xml (hoặc) activity_main.xml và thêm code, chúng ta sẽ tạo các đối tượng RatingBarvà Button trong  Relative Layout.

  <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:paddingBottom="@dimen/activity_vertical_margin"      android:paddingLeft="@dimen/activity_horizontal_margin"      android:paddingRight="@dimen/activity_horizontal_margin"      android:paddingTop="@dimen/activity_vertical_margin"      tools:context="hiepsiit.com.customratingbar.MainActivity" >        <RatingBar          android:id="@+id/simpleRatingBar"          style="@style/customRatingBar"          android:layout_width="fill_parent"          android:layout_height="100dp"          android:layout_marginTop="60dp"          android:background="#0f0"          android:rating="2.5" />        <Button          android:id="@+id/btnRatingBar"          android:layout_width="200dp"          android:layout_height="wrap_content"          android:layout_centerInParent="true"          android:background="#f40"          android:padding="10dp"          android:text="Submit"          android:textColor="#fff"          android:textSize="20sp"          android:textStyle="bold" />    </RelativeLayout>  

Bước 3: Mở app -> src ->MainActivity.java và thêm code. Khi click vào Button "Rating Bar" sẽ hiển thị số ngôi sao và số lượng đánh giá.

  package hiepsiit.com.rantingbar;    import android.app.Activity;  import android.os.Bundle;  import android.view.Menu;  import android.view.MenuItem;  import android.view.View;  import android.view.View.OnClickListener;  import android.widget.Button;  import android.widget.RatingBar;  import android.widget.Toast;    public class MainActivity extends Activity {  	Button btnRatingBar;  	RatingBar simpleRatingBar;  	@Override  	protected void onCreate(Bundle savedInstanceState) {  		super.onCreate(savedInstanceState);  		setContentView(R.layout.activity_main);  		simpleRatingBar =	(RatingBar)	findViewById(R.id.simpleRatingBar);  		btnRatingBar	=	(Button)	findViewById(R.id.btnRatingBar);  		btnRatingBar.setOnClickListener(new OnClickListener() {  			  			@Override  			public void onClick(View arg0) {  				// TODO Auto-generated method stub  				Toast.makeText(getApplication(), "Tổng số ngôi sao:"+simpleRatingBar.getNumStars()+" \nSố lượng đánh giá:"+simpleRatingBar.getRating(), Toast.LENGTH_LONG).show();  				  			}  		});  	}    }  

 Bước 4: Mở res ->values ->styles.xml

Trong bước này chúng ta thiết lập tập tin customratingstars.xml và thiết lập chiều cao, chiều rộng cho từng mục

  <style name="customRatingBar" parent="@android:style/Widget.RatingBar">   <item name="android:progressDrawable">@drawable/customratingstars</item>   <item name="android:minHeight">20dip</item>   <item name="android:maxHeight">20dip</item>  </style>

Bước 5: Tạo mới tập tin customratingstars.xml trong thư mục drawable

Trong bước này chúng ta tạo mới tập tin customratingstars.xml trong thư mục drawable, đồng thời thiết lập 2 icon empty.png và filled.png. 


Download ví dụ

Ứng dụng này được phát triển bởi adt bundleandroid 4.2 sử dụng minimum sdk 11  and target sdk 21.


Kết quả khi chạy ứng dụng:

Sau đó Click vào Button "Rating Bar":


 



Cập nhật công nghệ từ Youtube tại link: https://www.youtube.com/channel/UCOxeYcvZPGf-mGLYSl_1LuA/videos
Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com

About Học viện đào tạo trực tuyến

Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
- Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
- Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
«
Next
Bài đăng Mới hơn
»
Previous
Bài đăng Cũ hơn