【发布时间】:2018-08-02 22:54:02
【问题描述】:
我在我的 Android 应用中构建了一个方形井字游戏 填满整个屏幕宽度。
但是每次我通过 setText 方法插入一个字符串到一个单元格中,它都会改变这个单元格的大小(取决于插入的字符串的大小)。
如何将(最大大小的)字符串/字符插入单元格而不改变其大小?
代码很长,如果有需要我可以上传。
【问题讨论】:
标签: android textview autosize text-size
我在我的 Android 应用中构建了一个方形井字游戏 填满整个屏幕宽度。
但是每次我通过 setText 方法插入一个字符串到一个单元格中,它都会改变这个单元格的大小(取决于插入的字符串的大小)。
如何将(最大大小的)字符串/字符插入单元格而不改变其大小?
代码很长,如果有需要我可以上传。
【问题讨论】:
标签: android textview autosize text-size
你可以在xml中定义:
android:maxWidth="200dp"
或java:
textView.setMaxWidth(300);
您还可以使用LinearLayout 为TextView 指定屏幕百分比,例如,如果我们有一个包含 3 列的表格,我们会这样做:
<LinearLayout android:width="match_parent"
android:height="wrap_content"
android:orientation="horizontal"
android:weightSum="3">
<TextView android:width="0dp"
android:height="wrap_content"
android:weight="1"/>
<TextView android:width="0dp"
android:height="wrap_content"
android:weight="1"/>
<TextView android:width="0dp"
android:height="wrap_content"
android:weight="1"/>
</LinearLayout>
通过这样做,每个TextView 将获得其具有match_parent 宽度的父级宽度的三分之一。
【讨论】:
根据您对另一个答案的评论,我假设您的意思是 TextView 的高度正在扩大。 (多行)
要解决此问题,请在您的 xml 中使用以下内容:
android:singleLine="true"
android:ellipsize="end"
这会将您的 TextView 限制为单行,如果它超出它,它将在末尾显示一个“...”。
【讨论】: