У меня есть LinearLayout и динамически добавьте к нему три LinearLayouts. Каждый из LinearLayouts содержит кнопку. После нажатия одной из кнопок я хотел отобразить CalendarView на LinearLayout второго уровня. Отобразится представление, однако оно не отображается полностью. Я приложил скриншот визуализировать проблему: http://i.stack.imgur.com/CE9je.pngLinearLayout не правильно изменяет размер
Вот код для добавления макета:
LinearLayout.LayoutParams pLayouts = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
hllCalendar = new LinearLayout(this);
hllCalendar.setLayoutParams(pLayouts);
hllCalendar.setId(hllCalendarID);
hllCalendar.setOrientation(LinearLayout.VERTICAL);
btCalendar = {some other code}
hllCalendar.addView(btCalendar);
hllComponents.addView(hllCalendar);
А вот код для добавления CalendarView:
LinearLayout.LayoutParams pCalendar = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
CalendarView cal = new CalendarView(this);
cal.setLayoutParams(pCalendar);
cal.setOnDateChangeListener(this);
hllCalendar.addView(cal);
Любой предложения о том, как я могу сделать календарь полностью видимым?
Здесь создается динамически макет для вашего удобства:
hllComponents pLayouts
-hllCalendar pLayouts
--btCalendar
--CalendarView pCalendar
-hllStartTime pLayouts
--btStartTime
-hllEndTime pLayouts
--btEndTime
Проблема такая же, как и в this post.
Вам нужно будет добавить LayoutParams, который вы установите на соседние линейные макеты –
@ZedScio LayoutParams для макетов - это pLayouts, как вы можете видеть в первом разделе кода. – Clemens
Я имел в виду макеты, окружающие hllCalendar. Наиболее вероятным виновником является то, что hllCalendar не имеет достаточно места для изменения размера для wrap_content. Вы можете проверить это, поместив hllCalendar внутри прокрутки. Если вы можете прокручивать и просматривать весь вид, то проблема заключается в макетах выше и/или ниже hllCalendar, внутри hllComponents. –