98

私のアプリケーションには評価バーがあります。評価バーをクリック不可、タッチ不可に設定したい。xmlこのために、各評価バーのファイルに次のコードを追加しました。

samsung galaxy Apollo GT-i5801で動作しています。しかし、HTC モバイルでは機能しません。なんで?

xml コード

android:clickable="false"     
android:focusableInTouchMode="false"    
android:focusable="false"

ありがとう

4

4 に答える 4

343

次のように、xml から評価バーをインジケーターとして設定することもできます。

android:isIndicator="true"
于 2011-11-23T13:48:08.400 に答える
21

これは、あなたの setOnRatingBarChangeListener にこのコードを書くことです

ratingaddrate.setIsIndicator(true);

アップデート :

この例を XML で使用できます

android:isIndicator="true"

この行もコードに追加します

ratingBar.setFocusable(false);
于 2014-08-30T07:15:51.063 に答える
20

コントロールが暗くなるため、有効に false を設定しないでください。あなたがしたいことは、次のようにオンタッチリスナーをオーバーライドすることです:

import android.view.View.OnTouchListener;

RatingBar ratingBar = (RatingBar)findViewById(R.id.ratingBar);
ratingBar.setOnTouchListener(new OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            return true;
        }
    });

したがって、基本的にはタッチを傍受し、何もしません

また、次のコードも追加して、トラックボールのロールオーバーをブロックします

ratingBar.setFocusable(false);
于 2011-11-21T14:41:42.343 に答える
0

style="?android:attr/ratingBarStyleIndicator"をレイアウトに 追加します
。たとえば

<RatingBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/review_star"
        style="?android:attr/ratingBarStyleIndicator"
        android:scaleX=".5"
        android:rating="3.5"
        android:scaleY=".5"
        android:transformPivotX="0dp"
        android:transformPivotY="0dp"
        android:max="5"/>
于 2020-08-27T12:21:04.067 に答える