以编程方式调整TextView的大小
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以编程方式调整TextView的大小相关的知识,希望对你有一定的参考价值。
我的应用程序中有一个textView。现在,我想在点击时调整textView的大小。我给出了它的最大高度和最大宽度,但它没有调整大小并显示布局中定义的宽度和高度。任何帮助,将不胜感激
这是我的代码:
<TextView
android:id="@+id/textView2"
android:layout_width="30dp"
android:layout_height="40dp"
android:layout_gravity="fill_horizontal"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:text="Hello"/>
答案
从逻辑上讲,为什么在更改其最大高度和最大宽度时TextView会调整大小?你所说的是“TextView,无论你喜欢与否,你都是30dp x 40dp”。然后你过来说“哦,顺便说一句,如果有一天你可以获得更多的空间,你可以一直到40dp x 50dp,但现在你仍然是30dp x 40dp”。无论你让TextView有多大,它仍然是30dp x 40dp,因为你没有告诉它改变它的大小,你只是改变了它可能有多大。
如果你想改变这种行为,你需要做的就是说“嘿TextView,你可以自由地获得你想要的那么大,我已经把这些上限放在你身上了”。为此,您将使用如上所述/如下所示的LayoutParams。
// set the max height
textView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
这也假设您希望最大高度/宽度成为限制因素。如果你只想说“嘿textView,就是这个尺寸”,Ajay的答案就可以解决问题。
另一答案
看一下这个
TV= (TextView) findViewById(R.id.textView2);
TV.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
final LayoutParams lparams = new LayoutParams(50,30); // Width , height
TV.setLayoutParams(lparams);
}
});
另一答案
你在代码中使用LayoutParams
并将MATCH_PARENT
设置为高度,然后添加类似的东西
textView.setLayoutParams(layoutParams);
另一答案
您可以使用setMaxLines(int)
以编程方式调整TextView的大小。
以上是关于以编程方式调整TextView的大小的主要内容,如果未能解决你的问题,请参考以下文章