在我的应用程序中,我需要将动态文本设置为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行,文字正在被剪切。 有人可以帮忙吗?
提前完成。
答案 0 :(得分:17)
正如Konstantin所说,除非你删除android:maxLines="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行文本。