Я использую layout_weight
, чтобы установить макет.Кнопка «Добавить фото» позволит пользователю выбрать изображение.После выбора будет показано изображение ниже:
![Screenshot of](https://i.stack.imgur.com/SvTCa.png)
Без изображения видимость ImageView
будет установлена на View.GONE
, и яхотелось бы, чтобы он отображался следующим образом (просто удалите ImageView
и переместите `EditText вверх)
![Screenshot of](https://i.stack.imgur.com/BFVWv.png)
Вместо этого он выглядит так:
![Screenshot of](https://i.stack.imgur.com/TeYbU.png)
Итак, мой вопрос: каков наилучший подход для достижения этой цели?
Вот XML-файл макета:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_marginTop="5dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom"
android:orientation="vertical">
<ImageView android:layout_width="match_parent" android:layout_height="0dip"
android:layout_centerHorizontal="true"
android:src="@drawable/like"
android:tint="@color/darkGreen"
android:layout_weight="2.5"
android:scaleType="centerCrop"
android:adjustViewBounds="true"
android:layout_marginRight="10dp"
android:id="@+id/imageView"
android:layout_marginTop="10dp"/>
<EditText android:layout_width="match_parent" android:layout_height="0dip"
android:layout_weight="2.5"
android:paddingTop="10dp"
android:paddingLeft="10dp"
android:id="@+id/commentEditTxt"
android:gravity="top"
android:layout_marginTop="10dp"
android:hint="Write something here ..."
android:background="@drawable/round_button"/>
<Button
android:layout_weight="0.8"
android:drawableTint="@color/darkgrey"
android:paddingRight="20dp"
android:textAllCaps="false"
android:drawableRight="@drawable/add_photo"
android:textColor="@color/darkgrey"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:id="@+id/addPhotoBtn"
style="?android:attr/buttonStyleSmall"
android:layout_width="match_parent"
android:layout_height="0dip"
android:background="@drawable/round_button"
android:layout_gravity="center_horizontal|center"
android:text="add a photo"/>
<Button
android:layout_weight="0.8"
android:backgroundTint="@color/lightseagreen"
android:textColor="@color/white"
android:textAllCaps="false"
android:layout_marginBottom="10dp"
android:background="@drawable/round_button"
android:id="@+id/doneBtn"
style="?android:attr/buttonStyleSmall"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_gravity="center_horizontal|center"
android:text="Done"/>
</LinearLayout>
</LinearLayout>