Как мне убрать вес? - PullRequest
       18

Как мне убрать вес?

0 голосов
/ 28 октября 2018

Я использую layout_weight, чтобы установить макет.Кнопка «Добавить фото» позволит пользователю выбрать изображение.После выбора будет показано изображение ниже:

Screenshot of

Без изображения видимость ImageView будет установлена ​​на View.GONE, и яхотелось бы, чтобы он отображался следующим образом (просто удалите ImageView и переместите `EditText вверх)

Screenshot of

Вместо этого он выглядит так:

Screenshot of

Итак, мой вопрос: каков наилучший подход для достижения этой цели?

Вот 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>

Ответы [ 2 ]

0 голосов
/ 28 октября 2018

Я помещаю EditText и ImageView в LinearLayout, попробуйте:

<?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">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_weight="5">

            <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="1"
                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="1"
                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"/>
        </LinearLayout>

        <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>
0 голосов
/ 28 октября 2018

Извините за изменение вашего кода, но теперь он работает, как вы хотите.Ваш imageView теперь невидим.Когда пользователь щелкает и выбирает изображение, вы должны использовать это:

// imageView.setVisibility (View.VISIBLE);

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:gravity="bottom"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:layout_centerHorizontal="true"
            android:src="@drawable/like"
            android:tint="@color/darkGreen"
            android:layout_marginRight="10dp"
            android:layout_marginTop="10dp"
            android:adjustViewBounds="true"
            android:scaleType="centerCrop"
            android:visibility="gone" />


        <EditText
            android:id="@+id/commentEditTxt"
            android:layout_width="match_parent"

            android:layout_height="200dp"
            android:layout_marginTop="10dp"
            android:focusedByDefault="false"
            android:gravity="top"
            android:hint="Write something here ..."
            android:paddingLeft="10dp"
            android:paddingTop="10dp"
            android:background="@drawable/round_button"/>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <Button


                android:id="@+id/addPhotoBtn"
                style="?android:attr/buttonStyleSmall"
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:drawableTint="@color/darkgrey"
                android:drawableRight="@drawable/add_photo"
                android:textColor="@color/darkgrey"
                android:background="@drawable/round_button"
                android:layout_above="@id/doneBtn"
                android:layout_marginTop="10dp"
                android:paddingRight="20dp"
                android:text="add a photo"
                android:textAllCaps="false" />

            <Button

                android:id="@+id/doneBtn"
                style="?android:attr/buttonStyleSmall"
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layout_alignParentBottom="true"
                android:layout_marginBottom="10dp"
                android:text="Done"
                android:background="@drawable/round_button"
                android:backgroundTint="@color/lightseagreen"
                android:textColor="@color/white"
                android:textAllCaps="false" />
        </RelativeLayout>
    </LinearLayout>
</LinearLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...