我在我的TextViews
上設置了提示,它們設置了android:layout_width="wrap_content"
,並且如果鍵入TextView
的文本不像提示的寬度那麼寬文本,那麼TextView
將不會改變其寬度以包裝文本。但是,如果輸入的文本比提示文本的寬度更寬,並且由於TextView
有擴大的空間,它將變長以包裝文本。如何強制TextView將寬度更改爲Android中文本的寬度
理想情況下,我希望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中添加這個'android:singleLine =「true」',這有幫助嗎? – Vikrant
@Vikrant也已經設置了它。 – shoe
顯示你的整個xml佈局 – user1506104