没有提示文本的宽度那么宽,-6ren">
gpt4 book ai didi

android - 如何强制 TextView 将宽度更改为 Android 中文本的宽度

转载 作者:行者123 更新时间:2023-11-29 19:32:32 24 4
gpt4 key购买 nike

我在我的 TextViews 上设置了提示,其中设置了 android:layout_width="wrap_content" 并且如果在 TextView 中输入的文本> 没有提示文本的宽度那么宽,则 TextView 不会更改其宽度来换行文本。但是,如果输入的文本比提示文本的宽度宽,并且给定 TextView 加宽的空间,那么它会增长以包裹文本。

理想情况下,无论提示文本的宽度是多少(TextView 的原始宽度),我都希望 TextView 缩小到我的文本),但我也会排除提供获取我的文本宽度的方法的答案,这样我就可以在 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 上的提示设置为 "" 当其中有文本时,然后将提示重置为原始提示,如果所有的文字都被删除了。这样,一旦输入文本,无论设置是否强制 TextView 具有最小宽度——因为初始提示文本宽度——都将在设置新提示后重新配置,并且由于新的提示文本宽度 (""),新的最小 TextView 宽度设置为 0;如果所有文本都被删除,提示仍会按预期显示。

关于android - 如何强制 TextView 将宽度更改为 Android 中文本的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39702710/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com