web-dev-qa-db-ja.com

android-評価バーの設定方法は、HTC mobileでクリック不可およびタッチ可能です

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

サムスン銀河アポロGT-i5801で動作しています。ただし、HTCモバイルでは動作しません。どうして?

xmlコード

Android:clickable="false"     
Android:focusableInTouchMode="false"    
Android:focusable="false"

ありがとう

88
naresh

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

Android:isIndicator="true"
318
Andy

Enabledをfalseに設定しないでください。コントロールが暗くなります。やりたいことは、次のようにon touchリスナーをオーバーライドすることです。

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);
16
Ryan C

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

ratingaddrate.setIsIndicator(true);

更新:

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

Android:isIndicator="true"

また、コードにこの行を追加します

ratingBar.setFocusable(false);
16
alireza amini