2016-10-14 5 views
-1

Как я могу установить ширину и высоту 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 
+1

изменение LinearLayout.LayoutParams to RelativeLayout.LayoutParams. Это будет работать. потому что ваш текст внутри RelativeLayout. –

+0

Я пробовал это, но он не работает –

ответ

0

Спасибо за поддержку, я получил ответ для этого. На самом деле проще установить размеры для текстового представления. Это код, который я использовал.

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

Теперь его работа отлично.

1

Try this-

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

По журналы ошибок, ваш TextView родитель выглядит RelativeLayout

0

Кажется, что «экран отображения», для которого вы динамически устанавливаете высоту nd, имеет тип 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); 

U можно использовать код и изменить в соответствии с требованиями пользователя ur.