Ответ 1
Вы также можете установить индикатор RatingBar как индикатор из xml со следующим:
android:isIndicator="true"
Мое приложение имеет рейтинговые бары. Я хочу, чтобы панель "Рейтинг" была недоступна и не касалась. Для этого я добавил следующий код в файле xml
каждой рейтинговой панели.
Он работает в галактике Samsung Apollo GT-i5801. Но он не работает в мобильном телефоне HTC. Почему?
xml code
android:clickable="false"
android:focusableInTouchMode="false"
android:focusable="false"
спасибо
Вы также можете установить индикатор RatingBar как индикатор из xml со следующим:
android:isIndicator="true"
Не устанавливайте enabled в 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);
Это он записывает этот код в ваш setOnRatingBarChangeListener
ratingaddrate.setIsIndicator(true);
Обновление:
Этот пример можно использовать в XML
android:isIndicator="true"
также добавить эту строку в код
ratingBar.setFocusable(false);
Это лучшее решение:
Android: isIndicator = "истина"