Intereting Posts
Преобразование даты времени в формате «6 апреля 2012» Доступ к соединениям запрещен для новых подключенных Android SDK Привязка данных Android – невозможно вызвать обработчик кликов Audio Framework: поток, стратегии, устройства Android – Espresso – прокрутка к списку без списка View item Каков наилучший общий формат для книги, такой как текст, который можно использовать для большинства типов мобильных телефонов Эмуляторы Android для конкретных устройств Связь между вкладками SlidingTabLayout Android: измените TextView textColor, когда родитель ориентирован Пример SlidingMenu: проблема импорта в eclipse Могу ли я иметь «мягкую клавиатуру» «adjustResize» и панель инструментов за панель состояния одновременно? Отладка уровня исходного кода платформы Android в Eclipse Активность камеры Android не возвращается в мое приложение при нажатии кнопки OK Android – эквивалент WrapPanel? Как исправить 22.0.1 \ aapt.exe '' завершено с ненулевым значением выхода 1

Невозможно сделать дочерний вид более широким, чем родительский, в макете Android

Я перемещаю представление после завершения анимации (чтобы вывести меню слева). Однако, похоже, я не могу добиться эффекта, который я ищу. Я бы хотел, чтобы представление расширялось до границ родителя, например:

Что я хочу

Но на самом деле это происходит:

Фактический результат

Представление сбрасывается, чтобы оставаться в пределах родителя. Даже если я устанавливаю абсолютное значение пикселя (смотря на ширину экрана или даже на случайное большое значение).

Причина, по которой мне нужно это сделать, подробно изложена в этом вопросе SO о фактической позиции представления после завершения анимации: TranslateAnimated ImageView не доступен после анимации [Android]

Есть предположения? Благодаря!

Solutions Collecting From Web of "Невозможно сделать дочерний вид более широким, чем родительский, в макете Android"

Итак, вот связанный вопрос . В нем объясняется, как перемещать представление из экрана.

У меня была такая же проблема, и я нашел решение. Надеюсь, это может быть полезно. Вам нужно установить фиксированную ширину, если вы хотите достичь этого эффекта. Чтобы найти реальную ширину обзора, вам необходимо ее измерить. Таким образом, полное решение:

view.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED); int height = view.getMeasuredHeight(); int width = view.getMeasuredWidth(); view.setLayoutParams(new LinearLayout.LayoutParams(width, height)); 

(Используйте LayoutParams типа, соответствующего типу родительского макета)