我的应用中有一个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"/>
答案 0 :(得分:5)
逻辑上,为什么在更改其最大高度和最大宽度时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的答案就可以解决问题了。
答案 1 :(得分:1)
检查出来
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);
}
});
答案 2 :(得分:0)
您在代码中使用LayoutParams
并将MATCH_PARENT
设置为高度,然后添加类似
textView.setLayoutParams(layoutParams);
答案 3 :(得分:0)
您可以使用setMaxLines(int)
以编程方式调整 TextView 的大小。