android:focusable
本身不会直接改变样式,但它可以影响一个视图是否可以获得焦点。当一个视图具有焦点时,它会获得一些特殊的视觉效果,例如焦点边框或背景颜色。这些效果是由系统主题或应用程序的主题中的相关属性控制的。
如果你想要改变一个视图在获得焦点时的样式,你可以使用以下属性:
android:focusColor
: 定义当视图获得焦点时的边框颜色。android:focusedBackgroundDrawable
: 定义当视图获得焦点时的背景图像。android:focusableInTouchMode
: 当设置为 true
时,视图将在触摸模式下自动获得焦点。要设置这些属性,你需要在视图的 XML 布局文件中添加它们,如下所示:
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true"
android:focusColor="#FF0000"
android:focusedBackgroundDrawable="@drawable/focused_background" />
在这个例子中,当 EditText
获得焦点时,它的边框颜色将变为红色,背景图像将使用 focused_background.xml
文件中定义的图像。