我想看看EditText的默认样式到底是什么?EditText
的定义。所以我第一步就是要弄清楚,到底哪个样式是默认的。
检查 EditText
源码 我发现了这个。
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
它包含了所有由XML设置的属性,或者是在刚开始的时候默认设置的属性。Context
构造函数被使用。com.android.internal.R.attr.editTextStyle
(和其他所有的 R.
)只是整数指针,可能在下层处理(View
?")延伸出的 TextView
注意到 com.android.internal.R.attr.editTextStyle
只是指向系统定义的样式的指针,所以在不同的版本中可能会有所不同(特别是在Material Design之前,所以4.x)。例如在 这个 源头 editTextStyle
是进一步指向材料设计依赖(244行)。
<item name="editTextStyle">@style/Widget.Material.EditText</item>