如何找到EditText的默认样式?
How to find the default style of EditText?
我想看看 EditText
的默认样式到底定义了什么。所以我的第一步是弄清楚哪种样式实际上是默认样式。
检查 EditText
source code 我发现了这个:
public EditText(Context context, AttributeSet attrs) {
this(context, attrs, com.android.internal.R.attr.editTextStyle);
}
我认为这意味着默认样式定义为 com.android.internal.R.attr.editTextStyle
。但是我在哪里可以找到这种风格的实现呢?为什么是 R.attr.editTextStyle?
attr 表示 AttributeSet
- 带有 View
s 参数的特殊集合,它在构造函数中传递并在那里解析。它包含 XML 设置的所有属性或使用 just-Context
构造函数时的默认设置。 com.android.internal.R.attr.editTextStyle
(以及所有其他 R.
)只是整数指针,可能在下层处理(View
?)由 TextView
扩展
请注意,com.android.internal.R.attr.editTextStyle
只是系统定义的样式指针,因此它可能因版本而异(尤其是在Material设计之前,所以4.x)。例如在 THIS 来源中 editTextStyle
进一步指向 Material 设计依赖(第 244 行)
<item name="editTextStyle">@style/Widget.Material.EditText</item>
我想看看 EditText
的默认样式到底定义了什么。所以我的第一步是弄清楚哪种样式实际上是默认样式。
检查 EditText
source code 我发现了这个:
public EditText(Context context, AttributeSet attrs) {
this(context, attrs, com.android.internal.R.attr.editTextStyle);
}
我认为这意味着默认样式定义为 com.android.internal.R.attr.editTextStyle
。但是我在哪里可以找到这种风格的实现呢?为什么是 R.attr.editTextStyle?
attr 表示 AttributeSet
- 带有 View
s 参数的特殊集合,它在构造函数中传递并在那里解析。它包含 XML 设置的所有属性或使用 just-Context
构造函数时的默认设置。 com.android.internal.R.attr.editTextStyle
(以及所有其他 R.
)只是整数指针,可能在下层处理(View
?)由 TextView
请注意,com.android.internal.R.attr.editTextStyle
只是系统定义的样式指针,因此它可能因版本而异(尤其是在Material设计之前,所以4.x)。例如在 THIS 来源中 editTextStyle
进一步指向 Material 设计依赖(第 244 行)
<item name="editTextStyle">@style/Widget.Material.EditText</item>