Intereting Posts
Гарантируется ли onPause, когда действие больше не работает? Обратный ответ asynchttpclient для Android loopj Android Maps – ограничение на 180 градусов Запустить активность с другого приложения Android Почему я не должен устанавливать layout_width и layout_height в стиле? Android: Сгенерированный QR-код с использованием Zxing имеет поля (не подходит для области) Как использовать виджет вкладки в Android? Android: Как получить идентификатор родительского представления? Как решить: «ошибка: не удается найти класс символов …» после преобразования класса Java в Kotlin? Попытка mockito издеваться над любым классом генерирует ExceptionInInitializerError Ошибка Lint с фрагментами на Android L: «Этот метод не отменяет ничего» Пользовательский ListView с Pinned Header, вызывающий Jank при настройке дополнения Почему мы можем вызвать getActivity () в onCreateView, который выполняется до onActivityCreated? Android: Share Bitmap не сохранен для SD Есть ли какой-либо механизм обратного вызова в android, когда есть данные, доступные для чтения в сокете

Android: layout_alignParentBottom игнорируется при использовании без явной высоты раскладки в виде строки в ListView

Когда я использую RelativeLayout с fill_parent или wrap_content как height и элемент, который указывает: android:layout_alignParentBottom="true" он игнорируется и выравнивается вверху. Установка высоты RelativeLayout на явное значение заставляет его работать. Любые подсказки?

Solutions Collecting From Web of "Android: layout_alignParentBottom игнорируется при использовании без явной высоты раскладки в виде строки в ListView"

Это, похоже, ошибка в самом Android, см. http://code.google.com/p/android/issues/detail?id=1394 .

Я работал над этим, обернув мой RelativeLayout в FrameLayout и поставив свое нижнее выровненное представление в виде дочерних элементов FrameLayout с android:layout_gravity="bottom" . Это мешает вам ссылаться на него из RelativeLayout поэтому вам придется обойти это (например, используя поля).

Если у кого-то есть лучшее обходное решение, поделитесь им.

Когда вы раздуваете макет, используйте inflate(R.layout.whatever, parent, false) , где parent – это ListView . Если вы этого не сделаете (например, вы передаете null для родителя), RelativeLayout становится странным в строках списка.

Мой взлом для этой ошибки andriod:

 ViewGroup.LayoutParams lp=(ViewGroup.LayoutParams)view.getLayoutParams(); lp.height=view.getContentHeight();//hack for android bug about ViewGroup.LayoutParams.WRAP_CONTENT and android:layout_alignParentBottom="true" on landscape orientation view.requestLayout(); act.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); 

Я смог получить правильное выравнивание, указав проблемный TextView:

 android:id="@+id/must_be_bottom_left" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" android:layout_below="@id/xxx" 

Где xxx – это идентификатор TextView , у которого есть android:layout_below="@id/yyy"

И yyyTextView который всегда находится выше обоих xxx и must_be_bottom_left .

Содержимое моих элементов списка может меняться так, что иногда «xxx» TextView является View.GONE , но даже тогда макет работает так, как ожидалось.

Я не знаю, насколько хрупкой или просто сердидией эта работа. Я использую Android 1.6, и я не тестировал его для передовой совместимости.