У меня есть TextView
рядом с ImageButton
в горизонтальном LinearLayout
, который затем завернут в вертикальный LinearLayout
. Чтобы отобразить кнопку, мне нужно было установить layout_weight
на текстовом изображении и кнопке с более сильной кнопкой. Однако, похоже, кнопка определяет высоту обоих из них, даже если текст должен быть выше. Есть ли способ обойти это?Многострочное текстовое изображение, получившее отрезанное высоту
<LinearLayout
android:orientation="vertical"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:layout_width="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textColor="@color/text_color"
android:textSize="@dimen/medium_font"
android:layout_gravity="center"
android:text="A long text that wraps correctly but then gets cut off"
android:layout_weight="1" />
<ImageButton
android:contentDescription="@string/share_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/share_button"
android:padding="5dp"
android:layout_weight="0"
android:layout_gravity="center"
android:scaleType="center"
android:background="@android:color/transparent"
android:src="@mipmap/ic_menu_share_holo_dark"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/button_background"
android:id="@+id/distances_parent">
<Spinner
android:layout_margin="5dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/distance_labels"
android:id="@+id/distances" />
</LinearLayout>
<Space
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0dp" />
<FrameLayout
android:background="@color/back_end"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
...
</FrameLayout>
</LinearLayout>
Это то, что он выглядит следующим образом:
Как вы можете видеть кнопку определяет высоту, а не текст, как и должно быть.
Это то, что я хочу, чтобы это выглядело как:
Вместо использования LinearLayout можно использовать RelativeLayout, чтобы сделать это возможным. Укажите ожидаемый результат в виде изображения [рисунок]. –
Я отредактировал сообщение с тем, как я хочу, чтобы он выглядел. – DaedalusAlpha
У вас довольно сложный макет. Я предлагаю снять его и посмотреть, сможете ли вы получить только основную часть - как показано на снимках экрана - для правильной работы. Вы также можете попробовать атрибут XML android: measureWithLargestChild в своем втором LinearLayout. –