如何动态设置textview高度android

时间:2010-08-19 13:24:54

标签: android textview

在我的应用程序中,我需要将动态文本设置为textview,因此我希望动态调整大小。我已经设定了:

<TextView
android:id="@+id/TextView02" 
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="normal"
android:text="Frontview"
android:layout_weight="1"
android:gravity="center_vertical"
android:textColor="#0099CC"
android:singleLine="false"
android:maxLines="4"
android:ellipsize="marquee"
/>

我的textview高度不超过2行,文字正在被剪切。 有人可以帮忙吗?

提前完成。

3 个答案:

答案 0 :(得分:17)

正如Konstantin所说,除非你删除android:maxLines="4"

,否则超过4行后可能会忽略此代码

这是你在代码中设置高度的方法:

TextView tv = (TextView) findViewById(R.id.TextView02);
int height_in_pixels = tv.getLineCount() * tv.getLineHeight(); //approx height text
tv.setHeight(height_in_pixels);

如果您想使用dip设备(允许您的应用扩展多个屏幕尺寸),您可以将像素数乘以getResources().getDisplayMetrics().density;

返回的值

这取决于您所需的行为,但您也可以考虑修复TextView大小,并允许用户滚动文本:

TextView tv = (TextView)findViewById(R.id.TextView02);
tv.setMovementMethod(ScrollingMovementMethod.getInstance());

答案 1 :(得分:3)

TextView tv;
----------------------
tv=new TextView(this);   // you take TextView id (R.id.textview1)

LinearLayout.LayoutParams Params1 = new LinearLayout.LayoutParams(15,50);
tv.setLayoutParams(Params1);   //you take linearlayout and relativelayout.

答案 2 :(得分:0)

删除android:maxLines =“4”,它将视图的高度限制为4行文本。