【发布时间】:2017-02-03 18:57:09
【问题描述】:
我在我的TextViews 上设置了提示,其中设置了android:layout_width="wrap_content",如果输入到TextView 的文本没有提示文本的宽度那么宽,那么TextView 将不会t 更改其宽度以换行文本。但是,如果输入的文本比提示文本的宽度更宽,并且考虑到TextView 有变宽的空间,那么它会增长到环绕文本。
理想情况下,无论提示文本的宽度是多少(TextView 的原始宽度),我都希望 TextView 缩小到我的文本,但我也会将提供的答案除外一种获取我的 text 宽度的方法,因此我可以使用该宽度在 TextView 上调用 setWidth。
我已经尝试在初始化后将TextView 的最小宽度更改为0,但这并不能解决问题。有趣的是,如果我输入的文本比提示文本宽(迫使它增长),如果我从该文本中删除字符,它会缩小,直到它恢复到提示文本强制它具有的宽度.我想要的是它始终缩小到文本的宽度,而不管提示文本的宽度如何。
这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<TextView
android:id="@+id/month_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="mm"
android:textColorHint="@color/hint_color"
android:singleLine="true"
android:textSize="40sp"
android:maxLength="2"/>
<TextView
android:id="@+id/first_hypen_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="-"
android:singleLine="true"
android:textSize="40sp"/>
<TextView
android:id="@+id/day_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="dd"
android:textColorHint="@color/hint_color"
android:singleLine="true"
android:textSize="40sp"
android:maxLength="2"/>
<TextView
android:id="@+id/second_hyphen_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="-"
android:singleLine="true"
android:textSize="40sp"/>
<TextView
android:id="@+id/year_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="yyyy"
android:textColorHint="@color/hint_color"
android:singleLine="true"
android:textSize="40sp"
android:maxLength="4"/>
</LinearLayout>
【问题讨论】:
-
在你的 TextView 中添加这个
android:singleLine="true",这有帮助吗? -
@Vikrant 也已经设置好了。
-
显示整个 xml 布局
-
@user1506104 完成