3

我的应用程序中有一个 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"/>
4

4 回答 4

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 的回答就可以了。

于 2013-07-15T05:24:47.070 回答
2

看一下这个

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);
    }
});
于 2013-07-15T05:16:08.430 回答
1

LayoutParams在代码中使用并设置MATCH_PARENT高度,然后添加类似

textView.setLayoutParams(layoutParams);
于 2013-07-15T05:17:18.143 回答
0

您可以使用以编程setMaxLines(int)方式调整TextView的大小。

于 2013-07-17T14:01:49.587 回答