#android #android-layout
#Android #android-макет
Вопрос:
У меня есть два RelativeLayouts
, каждый из которых содержит ImageView
и TextView
. При нажатии на a TextView
размер TextView
увеличивается, а размер другого Textview
уменьшается. Однако положение ImageView
также меняется.Я хочу, чтобы изображение было исправлено независимо от размера textview
. Какие изменения следует внести?
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@ id/bb_bottom_bar_outer_container"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@drawable/float_common"
android:clickable="true">
<LinearLayout
android:id="@ id/btn_updatenow"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_grey"
android:orientation="horizontal"
android:weightSum="3">
<RelativeLayout
android:id="@ id/float_layout_home"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical"
android:paddingTop="2dp">
<ImageView
android:id="@ id/float_image_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/margin_6"
android:background="@drawable/float_home_onclick"
/>
<TextView
android:id="@ id/float_text_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:paddingBottom="@dimen/margin_10"
android:text="@string/home"
android:textColor="@color/text_mid_grey"
/>
</RelativeLayout>
<RelativeLayout
android:id="@ id/float_layout_offers"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:paddingTop="2dp">
<ImageView
android:id="@ id/float_offers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/margin_6"
/>
<TextView
android:id="@ id/float_text_offers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:paddingBottom="@dimen/margin_10"
android:text="@string/offers"
android:textColor="@color/text_mid_grey"
/>
</RelativeLayout>
</LinearLayout>
</FrameLayout>
Комментарии:
1. Попробуйте, установив 2 RelativeLayout s android:layout_width как 0dp
2. @FebiMathew Его рабочее спасибо, не могли бы вы, пожалуйста, объяснить логику?
3. Добавлен ответ. Пожалуйста, проверьте.
Ответ №1:
Попробуйте, установив 2 RelativeLayout s android:layout_width как 0dp.
Когда Linearlayout содержит много представлений внутри и устанавливает layout_weight как 1 layout_height или layout_width = 0dp используется, чтобы занять равное пространство для обоих представлений.