我的應用程序有評級欄。我想設置評分欄是不可點擊並且不可觸摸的。爲此,我在每個評級欄的xml
文件中添加了以下代碼。android - 如何設置評分欄是不可點擊和觸摸HTC手機
它在三星銀河Apollo GT-i5801工作。但它不適用於HTC手機。爲什麼?
XML代碼
android:clickable="false"
android:focusableInTouchMode="false"
android:focusable="false"
感謝
我的應用程序有評級欄。我想設置評分欄是不可點擊並且不可觸摸的。爲此,我在每個評級欄的xml
文件中添加了以下代碼。android - 如何設置評分欄是不可點擊和觸摸HTC手機
它在三星銀河Apollo GT-i5801工作。但它不適用於HTC手機。爲什麼?
XML代碼
android:clickable="false"
android:focusableInTouchMode="false"
android:focusable="false"
感謝
你也可以用設置的RatingBar作爲指標從XML如下:
android:isIndicator="true"
如果您在列表視圖中使用,這是最佳解決方案。 – AlbertRosa
謝謝,這解決了我在listview中的問題。 – jackcar
不要設定爲能夠爲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);
即使我寫了這個答案,它的工作原理,我喜歡安迪的答案更好 –
android:isIndicator =「true」是正確的解決方案 – dirkoneill
錯誤的答案。正確的方法是:android:isIndicator =「true」(XML)或setIsIndicator(false)//代碼 – Sileria
這是寫這段代碼在你的setOnRatingBarChangeListener
ratingaddrate.setIsIndicator(true);
更新:
您可以在XML用這個例子
android:isIndicator="true"
也是此行添加到代碼
ratingBar.setFocusable(false);
這是最好的解決辦法:
機器人:isIndicator = 「真」
這與接受的答案完全相同,我不明白你爲什麼發佈這個答案。 –
你嘗試過它編碼這樣rating.setClickable(假); –
不,但是是否有差異(xml和代碼部分)? – naresh
不確定。但我還沒有在xml中嘗試過。對不起 –