android:enabled和android:focusable的区别是什么

android:enabled和android:focusable的区别是什么,android,Android,如果我在EditText中使用xml,则使用android:enabled=“false”属性,因此我无法键入EditText。现在,如果我使用android:focusable=“true”属性,那么有什么好处呢?当我使用android:enabled=“false”属性时。启用是一种状态,它告诉您EditText是否处于活动状态。表示是否允许用户与其交互 当EditText处于激活状态(enable=true)时,当用户触摸/单击EditText时,它接收到焦点,键盘将打开,一旦键盘关闭,焦

如果我在
EditText
中使用
xml
,则使用
android:enabled=“false”
属性,因此我无法键入
EditText
。现在,如果我使用android:focusable=“true”属性,那么有什么好处呢?当我使用android:enabled=“false”属性时。

启用是一种状态,它告诉您EditText是否处于活动状态。表示是否允许用户与其交互


当EditText处于激活状态(enable=true)时,当用户触摸/单击EditText时,它接收到焦点,键盘将打开,一旦键盘关闭,焦点将显示出来。通过涂抹,视图未聚焦,当用户尝试交互时,视图会聚焦。

启用是一种状态,它告诉您EditText是否处于活动状态。表示是否允许用户与其交互


当EditText处于激活状态(enable=true)时,当用户触摸/单击EditText时,它接收到焦点,键盘将打开,一旦键盘关闭,焦点将显示出来。通过涂抹,视图未聚焦,当用户尝试交互时,视图会聚焦。

如果设置属性

android:enabled="false"
然后您的
EditText
将不可见,否则如果您将
android:enabled=“true”
放置在屏幕上,它将可见。默认情况下,其值为
android:enabled=“true”

如果你使用

android:focusable="true" 

然后,您的
EditText
是可聚焦的,这意味着用户可以在其中输入值。

如果您设置了该属性

android:enabled="false"
然后您的
EditText
将不可见,否则如果您将
android:enabled=“true”
放置在屏幕上,它将可见。默认情况下,其值为
android:enabled=“true”

如果你使用

android:focusable="true" 

然后,您的
EditText
可聚焦意味着用户可以在其中输入值。

基本上
android:enabled=“false”
意味着您不能更改该EditText的值(您不能通过用户交互更改它,但可以通过编程方式更改),但它仍然是可聚焦的,因此它可以像任何其他可聚焦视图一样获得焦点

android:focusable=“false”
意味着该字段无法获得焦点,因此用户将无法与其交互,但您甚至无法通过编程方式聚焦该字段


基本上这两件事的目的并不相同,所以我不能谈论一种方法与另一种方法的好处,你需要决定你想用你的应用程序实现什么,它的行为应该是什么,然后使用这两件事中的一件。

基本上
android:enabled=“false”
意味着您不能更改EditText的值(您不能通过用户交互更改它,但可以通过编程方式更改),但它仍然是可聚焦的,因此它可以像任何其他可聚焦视图一样获得焦点

android:focusable=“false”
意味着该字段无法获得焦点,因此用户将无法与其交互,但您甚至无法通过编程方式聚焦该字段

基本上,这两件事并不是为了同一个目的,所以我不能谈论一种方法与另一种方法的好处,你需要决定你想用你的应用程序实现什么,它的行为应该是什么,然后使用这两件事中的一件