У меня есть LinearLayout, который содержит TextView и ImageView. Ширина TextView равна wrap_content
, но проблема заключается в том, когда ширина достигает ширины родителя. Текстовый контент будет правильно переноситься на две или более строк, но TextView и ImageView будут обрезаны с левой и правой сторон. Наиболее похожий вопрос, который я мог найти, был this one, который с 2013 года и не имеет решения.LinearLayout обрезание детей с шириной TextView, установленной на wrap_content
В частности, я испытываю проблему на this view, но я создал следующий простой вид для иллюстрации проблемы:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/card_top_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/card_top_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="One Two Three Four Five"
android:textSize="40sp"/>
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/ic_volume_up_black_48dp"/>
</LinearLayout>
Вот проблема: Вот макет нормально:
Когда макет перекрывает другой вид, установка android:clipChildren="false"
на LinearLayout даже не предотвращает обрезку.
А вот один финальное изображение, чтобы доказать, что это происходит на реальном устройстве, а не только для просмотра макета:
Я в основном из идей. Есть предположения? Это проблема с системой компоновки Android? Спасибо за помощь и внимание!
Да, это похоже на трюк. есть ли у вас какие-либо сведения о том, почему происходит отсечение, и почему это исправляет это? –