微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何根据提示长度设置 TextInputLayout 的宽度?

如何解决如何根据提示长度设置 TextInputLayout 的宽度?

我有一个带有动态提示的 TextInputLayout。提示的长度在6-10个字符之间,输入的长度总是更小(3-5个字符)。

因为 Hint 字符串的长度会有所不同,所以我想设置 layout_width 以取决于提示的长度。

如果我只设置 android:layout_width="wrap_content",它将采用输入的宽度,而不是提示的长度。

enter image description here

这是我目前的代码

    <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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。