Tôi có LinearLayout chứa ba TextView. Tôi muốn làm nổi bật một TextView hoặc toàn bộ bố cục khi người dùng nhấp vào TextView. Có cách nào để làm cho nó xảy ra không?Làm cách nào để đánh dấu một TextView hoặc LinearLayout khi nhấp vào nó?
Cảm ơn.
Tôi có LinearLayout chứa ba TextView. Tôi muốn làm nổi bật một TextView hoặc toàn bộ bố cục khi người dùng nhấp vào TextView. Có cách nào để làm cho nó xảy ra không?Làm cách nào để đánh dấu một TextView hoặc LinearLayout khi nhấp vào nó?
Cảm ơn.
Có một số cách để thực hiện việc này.
Cách đơn giản nhất để làm điều này là bằng cách chơi xung quanh với nhiều View các thuộc tính như android:focusable
, android:focusableInTouchMode
, android:clickable
, và TextView các thuộc tính như android:selectAllOnFocus
.
Bạn cũng có thể tùy chỉnh giao diện của chế độ xem của mình bằng cách đặt hình nền thành các hình nền có thể là StateListDrawable s (a.k.a. <selector>
).
Tôi không thể có được phương pháp của Roman làm việc, nhưng tìm thấy câu trả lời của tôi here thay thế. Sử dụng một tài nguyên XML làm nền có thể vẽ và thì đấy! Nó làm việc như một say mê.
tôi supperpose 2 Layout
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
>
<LinearLayout
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
>
...
</LinearLayout>
</LinearLayout>
findViewById(R.id.root).setOnClickListener(...);
Cái này là tuyệt vời! –
Gợi ý của bạn với selectableItemBackground làm việc cho tôi như một sự quyến rũ. Nên là câu trả lời được chấp nhận! – rxDroid