저의 CustomTextInputLayout
이 Widget.MaterialComponents.TextInputLayout.OutlinedBox
를 기본 스타일로 XML 어디에도 정의하지 않고 갖도록하고 싶습니다.
저는 이것을 시도했습니다.
class CustomTextInputLayout @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : TextInputLayout(ContextThemeWrapper(context, R.style.Widget_MaterialComponents_TextInputLayout_OutlinedBox), attrs, defStyleAttr) {
}
그리고 다음은 이것을 시도했습니다.
class CustomTextInputLayout @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : TextInputLayout(context, attrs, R.style.Widget_MaterialComponents_TextInputLayout_OutlinedBox)
하지만 모두 작동하지 않습니다. 기본 XML 방식을 시도했습니다.
<com.custom.CustomTextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
...>
<com.google.android.material.textfield.TextInputEditText
...
android:hint="Sample Hint" />
</com.custom.CustomTextInputLayout>
작동하고 있습니다.
- 내가 여기서 무엇을 놓치고 있습니까?
XML
을 사용하지 않고 커스텀TextInputLayout
에 대한 기본 스타일을 설정하려면 어떻게해야합니까?