【发布时间】:2020-06-26 16:46:04
【问题描述】:
当我将输入布局错误设置为启用时,我想要发生的事情是填充颜色变成浅红色,边框变成深阴影。
但我最终得到的是那种浅色但没有边框的东西。
这是我的布局
<android.support.design.widget.TextInputLayout
android:id="@+id/five_star_review_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:errorEnabled="true"
app:hintEnabled="false"
app:errorTextAppearance="@style/ErrorTextFiveStar"
android:importantForAccessibility="no"
android:labelFor="@+id/add_number"
tools:error="true">
<android.support.design.widget.TextInputEditText
android:id="@+id/five_star_review_text"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="@drawable/border"
android:padding="13dp"
style="@style/StarRatingInputTextStyle"
tools:text="I really like the video layout. It was easy to understand, and very intuitive. The invitation via email" />
这是我的代码。
five_star_review_text.addTextChangedListener(object : TextWatcher{
override fun afterTextChanged(s: Editable?) {
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
if (s.length > 100) {
five_star_review_layout.error = " "
five_star_review_layout.boxStrokeColor= ContextCompat.getColor(activity!!, R.color.error_box_selector)
}
else {
five_star_review_layout
.error =""
five_star_review_layout.boxStrokeColor = ContextCompat.getColor(activity!!, R.color.error_box_selector)
}
if ((100 - s.length) > 0) {
val counter = "+${100 - s.length}"
review_counter.text = counter
review_counter.setTextColor(ContextCompat.getColor(activity!!, R.color.black))
} else {
review_counter.text ="${100 - s.length}"
review_counter.setTextColor(ContextCompat.getColor(activity!!, R.color.kp_red))
}
}
})
这是我的选择器
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:color="@color/kp_red"/>
<item android:state_hovered="true" android:color="@color/kp_red"/>
<item android:state_focused="true" android:color="@color/kp_red"/>
<item android:color="@color/kp_red"/>
</selector>
【问题讨论】:
标签: android android-layout kotlin android-textinputlayout material-components-android