相关疑难解决方法(0)

自动缩放TextView文本以适应界限

我正在寻找一种最佳方法来调整包装文本的大小TextView,使其适合其getHeight和getWidth界限.我不是简单地寻找一种包装文本的方法 - 我想确保它既包装又小到足以完全适合屏幕.

我在StackOverflow上看到了一些需要自动调整大小的情况,但它们或者是非常特殊的黑客解决方案案例,没有解决方案,或者涉及TextView递归重新绘制,直到它足够小(这是内存密集并迫使用户观看文本逐步收缩每次递归).

但是我确信那里有人找到了一个很好的解决方案,不涉及我正在做的事情:编写几个重度例程来解析和测量文本,调整文本大小,然后重复直到找到一个合适的小尺寸.

TextView用于包装文本的例程是什么?难道不能以某种方式用来预测文本是否足够小?

tl; dr:是否有一种最佳实践方法可以自动调整大小TextView以适应,包裹,在其getHeight和getWidth范围内?

android scale word-wrap textview

811
推荐指数
18
解决办法
38万
查看次数

如何调整文本字体大小以适应textview

android中是否有任何方法可以调整textview中的文本大小以适应它占用的空间?

例如,我正在使用a TableLayoutTextView在每行中添加几个s.由于我不希望TextViews包装文本,我宁愿看到它降低了内容的字体大小.

有任何想法吗?

我试过measureText,但由于我不知道列的大小,使用起来似乎很麻烦.这是我想要将字体大小更改为适合的代码的代码

TableRow row = new TableRow(this);   
for (int i=0; i < ColumnNames.length; i++) {    
    TextView textColumn = new TextView(this);      
    textColumn.setText(ColumnNames[i]);
    textColumn.setPadding(0, 0, 1, 0);
    textColumn.setTextColor(getResources().getColor(R.drawable.text_default));          
    row.addView(textColumn, new TableRow.LayoutParams()); 
} 
table.addView(row, new TableLayout.LayoutParams());  
Run Code Online (Sandbox Code Playgroud)

android font-size textview

178
推荐指数
10
解决办法
16万
查看次数

如何根据视图最大尺寸在多行TextView上自动调整文本大小?

我一直在寻找一种在textview中自动调整文本的方法.通过我的搜索,我找到了许多解决方案,如:

但和许多其他人一样,这些并不能解决我的问题.当我们使用带有多行的TextView时,它们无法按预期工作.

基本上我的目标是这个:

阶段1 阶段2 第3阶段 第4阶段

如您所见,文本根据宽度,高度调整大小,并注意换行,创建多行文本视图.也可以改变字体.

我解决这个问题的一个想法是这样的:

int size = CONSTANT_MAX_SIZE;
TextView tv = (TextView) findViewById(R.id.textview1)
while(Math.abs(tv.getMeasuredHeight()) >= TEXTVIEW_MAX_HEIGHT) {
    size--;
    tv.setTextSize(size);
    tv.measure(MeasureSpec.UNSPECIFIED,MeasureSpec.UNSPECIFIED);
    i++;
}
Run Code Online (Sandbox Code Playgroud)

CONSTANT_MAX_SIZE是一个常量,用于定义字体的最大大小(TextView中的textsize礼节)

TEXTVIEW_MAX_HEIGHT是一个常量,用于定义textview可以具有的最大大小.

每次textview中的文本发生更改时都会调用此方法.

textview xml是这样的:

<TextView
     android:id="@+id/textview1"
     android:layout_width="200dp"
     android:layout_height="wrap_content"
     android:singleLine="false"
     android:inputType="textMultiLine"
     android:text=""
     android:textSize="150sp" />
Run Code Online (Sandbox Code Playgroud)

由于宽度在XML中受到限制,因此只需要考虑视图的高度,因为调整它后android会在需要时自动创建多行.

虽然这是一个潜在的解决方案并不完美(远离它)并且它不支持调整大小(当您删除文本时).

任何sugestions和/或想法?

android word-wrap textview text-size typeface

20
推荐指数
1
解决办法
2万
查看次数

TextView是否缩放其字体大小以填充父级?

有没有办法让TextView选择一个字体大小,以便它填充它可用的任何空间?例如:

<LinearLayout
  layout_width="fill_parent"
  layout_height="50dip" >

  <TextView
    layout_width="fill_parent"
    layout_height="fill_parent"
    textSize="scale?" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

谢谢

android

14
推荐指数
1
解决办法
2万
查看次数

在视图中缩放文本以适应?

我不相信这存在,但想仔细检查.我想设置一个TextView的文本大小,使其适合给定的宽度,单行.例:

<LinearLayout
  layout_width="100dip"
  layout_height="50dip">

  <TextView
    layout_width="fill_parent"
    layout_height="wrap_content"
    textSize="fill" 
    text="fit me please!" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

谢谢

android resize textview

10
推荐指数
2
解决办法
6815
查看次数

标签 统计

android ×5

textview ×4

word-wrap ×2

font-size ×1

resize ×1

scale ×1

text-size ×1

typeface ×1