【问题标题】:How can I prevent a TextView from changing its size when inserting a String? (Android)插入字符串时如何防止 TextView 更改其大小? (安卓)
【发布时间】:2018-08-02 22:54:02
【问题描述】:

我在我的 Android 应用中构建了一个方形井字游戏 填满整个屏幕宽度。

但是每次我通过 setText 方法插入一个字符串到一个单元格中,它都会改变这个单元格的大小(取决于插入的字符串的大小)。

如何将(最大大小的)字符串/字符插入单元格而不改变其大小

代码很长,如果有需要我可以上传。

【问题讨论】:

    标签: android textview autosize text-size


    【解决方案1】:

    你可以在xml中定义:

    android:maxWidth="200dp"

    或java:

    textView.setMaxWidth(300);
    

    您还可以使用LinearLayoutTextView 指定屏幕百分比,例如,如果我们有一个包含 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 宽度的父级宽度的三分之一。

    【讨论】:

    • 问题是我不知道它的确切宽度和高度(并且应该保留),因为它取决于设备的屏幕宽度......
    【解决方案2】:

    根据您对另一个答案的评论,我假设您的意思是 TextView 的高度正在扩大。 (多行)

    要解决此问题,请在您的 xml 中使用以下内容:

    android:singleLine="true"
    android:ellipsize="end"
    

    这会将您的 TextView 限制为单行,如果它超出它,它将在末尾显示一个“...”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多