代码之家  ›  专栏  ›  技术社区  ›  Nerdy Bunz

在Android中,如何缩小字体以适应视图的内部宽度?

  •  0
  • Nerdy Bunz  · 技术社区  · 7 年前

    我们希望字符串根据需要收缩,以便在不截断的情况下适合文本视图。

    在IOS中,这是通过 this

    之前:

    enter image description here

    enter image description here

    enter image description here

    enter image description here

    enter image description here

    Android的等价物是什么?

    我咨询过 this

    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            tv = findViewById(R.id.tvc);
            tv.setText("aa aaa a aaaaaaa aaaadfgd gsfg fsdg dfs gdfs gds fg dsg dsg sdfg dsf g zzzzzzzzzz");
    
            TextViewCompat.setAutoSizeTextTypeWithDefaults(tv, TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM);
    
    
        }
    

    但令人沮丧的是,事实并非如此 收缩 宽度 ,而是 合适的字体 ... 字符串被截断得更厉害。

    请注意:此问题不同于( Auto Scale TextView Text to Fit within Bounds )因为它没有相同的要求:我严格说的是带有 限制。。。这个问题的答案都不令人满意。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Liar    7 年前

    我建议 AutofitTextView . 在Android中,autofit TextView不受本机支持,因此您必须进行自定义。

        2
  •  0
  •   Khalid Taha    7 年前

    要么你用 AutofitTextView 或者你可以用普通的 TextView 加上 ellipsize

    <TextView ...
        android:lines="1"
        android:ellipsize="end"
        />
    

    如果字符串长度大于textview宽度,则此属性将添加三个点。