【问题标题】:How do i set text size in a text view programmatically according to the width of a text view.?如何根据文本视图的宽度以编程方式在文本视图中设置文本大小。?
【发布时间】:2015-01-07 09:37:50
【问题描述】:

我在应用程序中使用的文本视图应该是单行的,并且具有预定义的宽度,其中可能包含从数据库中获取的文本,范围从单个单词到最多 3 个单词。我在堆栈溢出中找到了一个链接,用于根据文本视图的高度调整文本大小,但我正在寻找更特别的文本视图宽度。

【问题讨论】:

    标签: java android android-layout android-activity textview


    【解决方案1】:

    这可行,但您可能会发现更快的发布方式。循环中的增量确实需要一些时间,因此请在单个布局中谨慎使用。

        Display display = this.getWindowManager().getDefaultDisplay();
    
        Point size = new Point();
        display.getSize(size);
        int width = size.x; //Get screen width. There are other ways to do this too.
    
        int tSize = 10;
        tv.setTextSize(tSize); //tv is your TextView
    
        while (tv.getPaint().measureText((String) tv.getText())
                < width){
            tSize++;
            tv.setTextSize(tSize); //Increment up till screen width is filled.
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-26
      • 1970-01-01
      • 2020-05-14
      • 2012-01-18
      • 1970-01-01
      • 2016-10-22
      • 1970-01-01
      • 2011-08-30
      相关资源
      最近更新 更多