#android
#Android
Вопрос:
У меня есть Linearlayout в моем xml, который имеет fill_parent как для высоты, так и для ширины… Теперь я хочу динамически изменять высоту и ширину… Я пытался использовать
_llChooseType.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,getWindowManager().getDefaultDisplay().getHeight()-100));
Но это дает мне java.lang.ClassCastException: android.view.ViewGroup$LayoutParams
исключение…
Как это сделать?
Комментарии:
1. Не уверен в этом, так что это комментарий, но, если я правильно помню, вы можете выполнить getLayoutParams () или что-то подобное в самом вашем макете, чтобы получить правильные параметры макета.
Ответ №1:
Используйте это..
new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,getWindowManager().getDefaultDisplay().getHeight()-100));
Ответ №2:
Если _llChooseType является объектом LinearLayout, то я думаю, вам следует использовать
new LinearLayout.LayoutParams(...);
С уважением
Цитенг Чен
Ответ №3:
setLayoutParams widht amp; height может иметь только следующие 3 значения: FILL_PARENT, MATCH_PARENT и WRAP_CONTENT.
Вы должны использовать public void layout (int l, int t, int r, int b)
, чтобы фактически изменить макет созданного представления / viewgroup.
Ответ №4:
Сделайте это… Тип:
_llChooseType.setLayoutParams(new Layo
и нажмите ctrl пробел_бар.
Это предоставит вам список параметров LayoutParams на выбор … выберите LinearLayout.LayoutParams и напишите остальной код как есть.
Проблема здесь в том, что используемыми вами параметрами Layout являются ViewGroup.LayoutParams и они не применяются к линейным макетам!