M2G*_*2Gd 12 android click event-handling android-layout
我有一个线性布局,我设置为clikable + focus,但问题是点击时没有显示焦点.如何才能显示焦点.
继承我的代码
<LinearLayout
android:id="@+id/linear_tv_layout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:paddingBottom="7px">
Run Code Online (Sandbox Code Playgroud)
big*_*nes 16
我认为你需要为可点击的视图(布局)设置一个状态列表drawable的背景,它是一个可绘制的资源,你可以为不同的状态或状态组合指定不同的drawable,有一个用于选择,一个用于压力等等上.此外,布局的状态传播到其所有子节点.
澄清 - 这是以前链接的文档中的示例:
res/drawable/button.xml : (这是可绘制的州名单)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/button_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/button_focused" /> <!-- focused -->
<item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>
Run Code Online (Sandbox Code Playgroud)
button_pressed,button_focused并且button_normal是表示那些状态中的按钮的正常drawable,可能是png(因此可以插入,以橙色突出显示).
如果您将此资源设置为"线性布局按钮"的背景:
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@drawable/button">
...
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
现在聚焦布局会自动将其背景图像设置为@drawable/button_focused,依此类推.
当然,您使用的所有绘项目必须已经在资源res/drawable/与一起button.xml.
J W*_*ang 16
要将材质设计的按钮按动画应用于任何元素,请将元素的android背景属性设置为:
android:background="?android:attr/selectableItemBackground"
Run Code Online (Sandbox Code Playgroud)
在你的情况下:
<LinearLayout
android:id="@+id/linear_tv_layout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:paddingBottom="7px"
android:background="?android:attr/selectableItemBackground">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33204 次 |
| 最近记录: |