вывести левое изображение вправо в LinearLayout - PullRequest
1 голос
/ 04 мая 2019

Я хочу привести левое изображение вправо, но я не могу этого сделать. Я знаю, что могу использовать Layout_Direction="rtl" Но я не хочу его использовать. На некоторых телефонах макет поврежден

enter image description here

это мой layout.xml

<android.support.design.widget.CoordinatorLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:minHeight="?attr/actionBarSize"
        android:orientation="horizontal">

        <RelativeLayout
            android:id="@+id/icon_container"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/spacing_large"
            android:layout_marginTop="@dimen/spacing_middle"
            android:layout_marginRight="@dimen/spacing_large"
            android:orientation="vertical">

            <RelativeLayout
                android:id="@+id/icon_front"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:fillAfter="false"
                android:fillEnabled="false">

                <ImageView
                    android:id="@+id/icon_profile"
                    android:layout_width="40dp"
                    android:layout_height="40dp" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"/>
            </RelativeLayout>

        </RelativeLayout>

        <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:id="@+id/message_container"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:clickable="true"
                android:orientation="vertical"
                android:paddingTop="@dimen/spacing_middle"
                android:paddingBottom="@dimen/spacing_middle">

                <TextView
                    android:id="@+id/from"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginEnd="@dimen/spacing_middle"
                    android:layout_marginRight="@dimen/spacing_middle"
                    android:gravity="right"
                    android:maxLines="1"
                    android:text="People Name"
                    />

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

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="@dimen/spacing_medium"
                        android:layout_marginEnd="@dimen/spacing_middle"
                        android:layout_marginRight="@dimen/spacing_middle"
                        android:gravity="right"
                        android:maxLines="1"
                        android:text="some new text for new items"
android:textAppearance="@style/TextAppearance.AppCompat.Small"/>
                </LinearLayout>
            </LinearLayout>

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

        </LinearLayout>

    </LinearLayout>

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

Итак, как я могу поставить изображение справа? Кроме того, гравитация не работает Я пытался использовать гравитацию, но не сдвинул изображение вправо

1 Ответ

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

ImageView находится внутри RelativeLayout, поэтому вам нужно добавить этот атрибут:

android:layout_alignParentEnd="true"

или, если вам не нужна поддержка RTL:

android:layout_alignParentRight="true"

и XML будет:

<ImageView
    android:id="@+id/icon_profile"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:layout_alignParentEnd="true"/>
...