2010-03-17 27 views
5

Tôi không thấy bất kỳ phương pháp nào như setStyle cho lớp RatingBar. Làm thế nào tôi có thể đặt kiểu xếp hạng từ mã?Đặt kiểu thanh đánh giá từ mã

+1

trùng lặp: http://stackoverflow.com/questions/2016249/how-to-program -atic-style-style-attribute-in-a-view – Casebash

+3

KHÔNG trùng lặp. Một thanh đánh giá có các đặc tính và chức năng khác nhau. Những thứ như thiết lập các hình ảnh ngôi sao, chiều cao sao, vv S W KHÔNG được trả lời bởi câu hỏi đó. – StackOverflowed

Trả lời

11

này làm việc cho tôi (source):

RatingBar rating = 
    new RatingBar(context, null, android.R.attr.ratingBarStyleSmall); 
+0

Điều này không có tác dụng gì nhưng chế độ xem đang hoạt động tập tin –

2

Bạn cần đặt nó trong tệp xml! Nếu bạn muốn thay đổi nó khi chạy, bạn có thể có hai View-s (rb) khác nhau và chuyển đổi chúng trong chương trình (thêm/loại bỏ khỏi layout) hoặc sử dụng rb1.setVisibility (View.VISIBLE) và rb2.setVisibility (View .KHÔNG CÒN);

<RatingBar 
    android:layout_height="wrap_content" android:layout_width="wrap_content" 
    android:layout_alignParentRight="true" android:id="@+id/rb1" 
    style="?android:attr/ratingBarStyleSmall" 
    android:clickable="false" android:numStars="5"> 
</RatingBar> 
-1

Nếu bạn đang lập trình tạo ra các RatingBar như sau các

RatingBar giá = RatingBar mới (bối cảnh, null, android.R .attr.ratingBarStyleSmall);

sau đó không cho thêm

rating.setIsIndicator (false);

nếu không chạm sẽ không hoạt động trên RatingBar.

Các android.R.attr.ratingBarStyleSmall mang đến cho bạn những ngôi sao rất nhỏ nếu bạn muốn có một ngôi sao hơi lớn hơn sử dụng android.R.attr.ratingBarStyleIndicator

+0

Bất cứ ai có thể vui lòng cho tôi biết tại sao câu trả lời này đã bị hạ cấp vì tôi đã thử nghiệm mã này và nó hoạt động tốt. –

Các vấn đề liên quan