Intereting Posts
Сделайте эффективные вложения SQLite с Android Пакет совместимости Android – фрагмент … не привязан к работе Задать название контекстного меню из выбранного элемента списка Как сбросить представление в исходное состояние после использования аниматоров для анимации его некоторых свойств? Определение вида, выбранного в ContextMenu (Android) Null FragmentTransaction передается в TabListener.onTabSelected () Как добавить правило ограничения для manageQuery на android WifiP2pManager возвращает состояние BUSY в CreateGroup Как отключить событие щелчка маркера? Android: MediaPlayer безразличный или бесшовный просмотр видео Как получить пользовательские данные через твитерский интерфейс Fabric API (Android) GridView получает вид по позиции, первый вид просмотра Android Ant основывается на проекте с двумя исходными папками Какая разница между compileSdkVersion 'Google Inc.: API Google: 23' и compileSdkVersion 23 Android – Исходный код для phonegap cordova.jar

Невозможно сделать дочерний вид более широким, чем родительский, в макете 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 типа, соответствующего типу родительского макета)