Android - Как установить Рейтинговую панель, не реагирующую на клики и сенсорную в HTC Mobile - PullRequest
82 голосов
/ 22 августа 2011

У моего приложения есть рейтинги.Я хочу установить Рейтинговую панель без возможности нажатия и неприкосновения.Для этого я добавил следующий код в файл xml каждой строки рейтинга.

Он работает в Samsung Galaxy Apollo GT-i5801.Но это не работает в мобильном телефоне HTC.Почему?

XML-код

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

спасибо

Ответы [ 3 ]

311 голосов
/ 23 ноября 2011

Вы также можете установить RatingBar как индикатор из xml со следующим:

android:isIndicator="true"
16 голосов
/ 30 августа 2014

Вот он, напишите этот код в вашем setOnRatingBarChangeListener

ratingaddrate.setIsIndicator(true);

Обновление:

Вы можете использовать этот пример в своем XML

android:isIndicator="true"

также добавьте эту строку к коду

ratingBar.setFocusable(false);
16 голосов
/ 21 ноября 2011

Не устанавливайте для параметра false значение 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);
...