как переместить кнопку вправо в окне утилизации - PullRequest
1 голос
/ 26 мая 2019

У меня есть файл ниже xml, но красная цветная кнопка слева, я хочу оставить его справа, вместо этого в той же строке! я пробовал много способов переместить это, но это всегда идет ниже, если я двигаюсь направо. Как это исправить?

XML-файл моего кода

 <?xml version="1.0" encoding="utf-8"?>
<com.balysv.materialripple.MaterialRippleLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/RippleStyleBlack" xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"> 
<LinearLayout
    android:id="@+id/lyt_parent"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:minHeight="?attr/actionBarSize"
    android:orientation="horizontal">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <android.support.design.widget.FloatingActionButton
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:layout_gravity="center|center_horizontal|left"
            android:layout_margin="@dimen/spacing_large"
            android:clickable="true"
            android:foregroundGravity="left"
            android:text="ACCENT"
            android:tint="@android:color/white"
            app:backgroundTint="@color/deep_orange_400"
            app:fabSize="normal"
            app:rippleColor="@color/grey_5"
            app:srcCompat="@drawable/ic_remove" />

    </LinearLayout>
    <ImageView
        android:id="@+id/image"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_marginLeft="@dimen/spacing_large"
        android:layout_marginRight="@dimen/spacing_large"
        android:layout_marginTop="@dimen/spacing_middle"
        android:src="@drawable/photo_female_1" />

    <View
        android:layout_width="@dimen/spacing_medium"
        android:layout_height="0dp" />

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

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingBottom="@dimen/spacing_middle"
            android:paddingTop="@dimen/spacing_middle">

            <TextView
                android:id="@+id/name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginEnd="@dimen/spacing_middle"
                android:layout_marginRight="@dimen/spacing_middle"
                android:text="People Name"
                android:textAppearance="@style/TextAppearance.AppCompat.Medium"
                android:textColor="@color/grey_90" />

            <TextView
                android:id="@+id/description"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginEnd="@dimen/spacing_middle"
                android:layout_marginRight="@dimen/spacing_middle"
                android:layout_marginTop="@dimen/spacing_medium"
                android:maxLines="2"
                android:text="@string/middle_lorem_ipsum"

                android:textAppearance="@style/TextAppearance.AppCompat.Small"
                android:textColor="@color/grey_40" />

        </LinearLayout>

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@color/grey_10" />

    </LinearLayout>

</LinearLayout>

Выход в enter image description here У меня есть файл ниже xml, но красная цветная кнопка слева, я хочу оставить его справа, вместо этого в той же строке! я пробовал много способов переместить это, но это всегда идет ниже, если я двигаюсь направо. Как это исправить?

1 Ответ

0 голосов
/ 26 мая 2019

Таким образом, вам нужно изображение со знаком минус (для операции удаления), чтобы оно было справа от LinearLayout.

Шаг 1: Используйте атрибут LinearLayout weightSum . В данном коде напишите weightSum="100" в первом LinearLayout. Помните, что если вы используете weightSum в LinearLayout, все его дочерние элементы должны иметь ширину как 0dp , если у вас ориентация как горизонтальная , в противном случае высота должна быть 0dp , если у вас это как вертикальное.

Шаг 2: Удалите второй LinearLayout, который имеет Плавающую кнопку действия в качестве дочернего, и поместите его в конец родительского LinearLayout (первый LinearLayout, как указано в Code).

Шаг 3. Четвертый LinearLayout с двумя TextViews не требуется и может быть удален.

Иерархия будет выглядеть следующим образом

<com.balysv.materialripple.MaterialRippleLayout>

    <LinearLayout
        android:weightSum="100">

        <ImageView
            android:layout_width="0dp"
            android:layout_weight="10"/>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_weight="80">

            <TextView/>
            <TextView/>

        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_weight="10">

            <android.support.design.widget.FloatingActionButton/>

        </LinearLayout>

    </LinearLayout>

</com.balysv.materialripple.MaterialRippleLayout>

Вывод выглядит так, хотя я не использовал ваши точные картинки. Это просто чтобы понять, как это будет выглядеть после того, как вы используете вышеуказанную иерархию.

Я не использовал Вид (думаю, вы использовали его, чтобы получить горизонтальную линию). Если хотите, попробуйте поставить и сделать некоторые изменения с layout_weight

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...