2011-09-29 28 views

cevap

0

özelleştirebilir zorunda RatingBar .. sadece RatingBar Fotoğraftan ters hesaplamalar & sonra çeşit görüntüleyen ile hileler oynamak zorunda Ancak

.

Trick, RatingBar'ın tersindeki görüntüleri gösterecektir .. RatingBar'da seçili ve seçili olmayan görüntüleri değiştirin.

Kullanıcının RatingBar numaralı telefona oy vermesine izin verin. Seçilmiş ve seçilmemiş hesaplamaları değiştirmelisiniz. Yani ters hesaplamalar yapmak zorundasın.

RatingBar numaralı özel Çalışma Örneği, yalnızca bana göre StackOverflow numaralı telefondan yanıtını verdi.

İndir buradan RatingBar simgeleri: http://developer.android.com/guide/practices/ui_guidelines/icon_design.html

+0

teşekkürler. Gerçekten orada daha kolay bir yolu vardı ... –

4

Sen Ratingbar içinde android:rotation="180" kullanabilirsiniz ben bu Ratingbar etkileşim etkileyecek eğer bilmiyorum, bu benim salt okunur Ratingbars bu kaba kullanılan döndürmek için.

+1

o zaman sen de daha kolay değil grafik editörde drawables döndürmek gerekir o zaman sadece geri yıldız miktarını ayarlamak için –

+1

Evet, 'android: rotationY = 180' bir cazibe gibi çalışır .. . –

3

Kullanım nitelik android:scaleX="-1"

VEYA

package com.example.selection; 

import android.content.Context; 
import android.graphics.Canvas; 
import android.graphics.Matrix; 
import android.util.AttributeSet; 
import android.view.MotionEvent; 
import android.widget.RatingBar; 

public class InvertRatingBar extends RatingBar { 

    public InvertRatingBar(Context context) { 
     super(context); 
    } 

    public InvertRatingBar(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public InvertRatingBar(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     int width = this.getMeasuredWidth(); 
     event.setLocation(width - event.getX(), event.getY()); 
     return super.onTouchEvent(event); 
    } 

    @Override 
    protected synchronized void onDraw(Canvas canvas) { 
     int width = this.getMeasuredWidth(); 
     Matrix matrix = canvas.getMatrix(); 
     matrix.preTranslate(width, 0); 
     matrix.preScale(-1.f, 1); 
     canvas.setMatrix(matrix); 
     super.onDraw(canvas); 
    } 
} 
İlgili konular