Tôi muốn đặt nền android.R.attr.selectableItemBackground
thành LinearLayout
. Khi sử dụng XML không có vấn đề (nó hoạt động)Làm cách nào để đặt hiệu ứng Ripple trên LinearLayout theo lập trình?
<LinearLayout
android:id="@+id/llMiner"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:attr/selectableItemBackground"
android:clickable="true" >
... nhưng tôi phải làm điều này trong mã java, vì vậy tôi đã cố gắng này
llMiner.setClickable(true);
llMiner.setBackgroundResource(android.R.attr.selectableItemBackground);
... và nó doesn 't làm việc, infact tôi nhận được một NotFoundException
trên dòng thứ hai này. Vì vậy, sau khi tôi đã thử biến thể này nghĩ rằng tài nguyên là một màu.
llMiner.setClickable(true);
llMiner.setBackgroundColor(android.R.attr.selectableItemBackground);
Điều này không khởi chạy ngoại lệ, nhưng ... không hoạt động (không có thay đổi nền khi nhấn, nhưng thay đổi trạng thái được nhấn khi cần làm) ... bất kỳ đề xuất nào ?
bạn có đang thay đổi màu trong phương thức onClick hoạt động của mình không .. ??? –
Không, tôi không .... – Splact
Sau đó, tôi nghĩ bạn phải ghi đè lên phương thức onClick để hoàn thành chức năng của bạn. –