私のアプリケーションには評価バーがあります。評価バーを、クリック不可でタッチ不可に設定したい。このために、各評価バーのxml
ファイルに次のコードを追加しました。
サムスン銀河アポロGT-i5801で動作しています。ただし、HTCモバイルでは動作しません。どうして?
xmlコード
Android:clickable="false"
Android:focusableInTouchMode="false"
Android:focusable="false"
ありがとう
次のように、RatingBarをxmlからインジケーターとして設定することもできます。
Android:isIndicator="true"
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);
これは、setOnRatingBarChangeListenerにこのコードを書くことです
ratingaddrate.setIsIndicator(true);
更新:
XMLでこの例を使用できます
Android:isIndicator="true"
また、コードにこの行を追加します
ratingBar.setFocusable(false);