动态设置文本视图的宽度和高度

时间:2016-10-14 09:50:08

标签: android dynamic textview

如何动态设置textview的宽度和高度 我已经尝试了

displaytext.setLayoutParams(new LinearLayout.LayoutParams(rlwidth-(rlwidth*5/100),rlheight-(rlheight*90/100)));

我收到此错误

Java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams

3 个答案:

答案 0 :(得分:1)

试试这个 -

displaytext.setLayoutParams(new RelativeLayout.LayoutParams(rlwidth-(rlwidth*5/100),rlheight-(rlheight*90/100)));

根据错误日志,您的TextView父母看起来像RelativeLayout

答案 1 :(得分:0)

似乎"显示文字"您动态设置高度和宽度的类型是relativelayout类型,并且您尝试强制转换为linearlayout。


        txtview = (TextView)findViewById(R.id.txtview);
        txtview.setTextColor(Color.parseColor("#53565a"));
        ViewGroup.MarginLayoutParams layoutParams_txtview =(ViewGroup.MarginLayoutParams) .getLayoutParams();
        layoutParams_txtview.topMargin = 8*y/100;
        txtview.setLayoutParams(layoutParams_txtview);
        txtview.getLayoutParams().height = 4*y/100;
        txtview.getLayoutParams().width = 30 * x / 100;
        txtview.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
        txtview.setTypeface(typeface_regular);

你可以使用代码并根据你的要求进行修改。

答案 2 :(得分:0)

感谢您的支持,我得到了答案。实际上,它更容易为文本视图设置尺寸。这是我使用的代码。

displaytext.setWidth(rlwidth);
   displaytext.setHeight(rlheight*16/100);
   displaytext.setTextSize(rlheight*6/100);

现在它完美运作。