问题描述
我有一个带有动态提示的 TextInputLayout。提示的长度在6-10个字符之间,输入的长度总是更小(3-5个字符)。
因为 Hint 字符串的长度会有所不同,所以我想设置 layout_width 以取决于提示的长度。
如果我只设置 android:layout_width="wrap_content"
,它将采用输入的宽度,而不是提示的长度。
这是我目前的代码:
<android.support.design.widget.TextInputLayout
android:layout_width="95dp"
android:layout_height="wrap_content"
android:background="@drawable/textinput_gray_alt"
local:hintTextAppearance="@style/TextAppearance.App.TextInputLayout">
<android.support.design.widget.TextInputEditText
android:id="@+id/quantityEditFirstValue"
android:fontFamily="@drawable/RobotoMedium"
android:textSize="16sp"
android:background="@null"
android:textColor="@color/tundora"
android:inputType="numberDecimal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:maxLength="7"
local:MvxBind="Text FirstQuantityValue; Hint FirstQuantity.Unit; TextColor NativeColor(FirstQuantityTextColor)"/>
</android.support.design.widget.TextInputLayout>
解决方法
您是否尝试过这样做:
TextInputEditText textInputEditText = FindViewById<TextInputEditText>(Resource.Id.quantityEditFirstValue);
textInputEditText.Hint = "xxxxxxxx";
var measureText = (int)textInputEditText.Paint.MeasureText(textInputEditText.Hint);
textInputEditText.SetWidth(textInputEditText.PaddingLeft + textInputEditText.PaddingRight + measureText);