如何找到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 - 带有 Views 参数的特殊集合,它在构造函数中传递并在那里解析。它包含 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>