Кнопка Пуск справа налево вместо слева направо - PullRequest
2 голосов
/ 17 октября 2019

Я пытаюсь сделать так, чтобы Button в LinearLayout начинался с правой стороны и установить Button 5dp с правого края LinearLayout, с TextViewпоказывает слева от кнопки. В настоящее время он позволяет устанавливать кнопку только с «левого» края линейного макета. Я пробовал все виды способов, но, похоже, ничего не работает.

<LinearLayout
    android:id="@+id/remote_button_layout"
    android:layout_width="match_parent"
    android:layout_height="55dp"
    android:layout_marginStart="20dp"
    android:layout_marginEnd="20dp"
    android:layout_marginTop="30dp"
    android:background="@drawable/btn_remote_button"
    android:orientation="horizontal">

    <TextView
        android:text="Example Text"
        android:textSize="10sp"
        android:fontFamily="@font/mmedium"
        android:textAllCaps="false"
        android:layout_width="125dp"
        android:layout_height="match_parent"
        android:gravity="center"
        android:textColor="@android:color/secondary_text_light"/>

    <Button
        android:id="@+id/btn_remote_button"
        style="@style/Widget.AppCompat.Button.Borderless"
        android:layout_width="40dp"
        android:layout_height="match_parent"
        android:layout_marginEnd="5dp"
        android:background="@drawable/btn_remote_button"
        android:drawableStart="@drawable/logo"
        app:layout_constraintHorizontal_bias="1.0" />

</LinearLayout>

Ответы [ 5 ]

1 голос
/ 17 октября 2019

В вашем случае вы можете просто изменить добавив атрибут android:gravity="right" в LinearLayout.

  <LinearLayout
      android:gravity="right"

До:
enter image description here После:
enter image description here

Можно также сделать что-то другое, добавив MaterialButton, добавив текст и значок.

    <com.google.android.material.button.MaterialButton
        style="@style/Widget.MaterialComponents.Button.Icon"
        app:icon="@drawable/..."
        app:iconGravity="end"
        android:text="@string/..."/>

enter image description here

1 голос
/ 17 октября 2019

Используйте этот андроид: layout_gravity, поскольку (слева, справа) вы можете сослаться на эту ссылку В чем разница между гравитацией и layout_gravity в Android?

1 голос
/ 17 октября 2019

Используйте тег layoutGravity в своем XML как (справа, слева)

1 голос
/ 17 октября 2019

Вы должны добавить android:gravity="right" в макете. Таким образом, все внутренние виджеты будут установлены справа налево. Как ниже.

<LinearLayout
                android:id="@+id/remote_button_layout"
                android:layout_width="match_parent"
                android:layout_height="55dp"
                android:layout_marginStart="20dp"
                android:layout_marginEnd="20dp"
                android:layout_marginTop="30dp"
                android:gravity="right
                android:background="@drawable/btn_remote_button"
                android:orientation="horizontal">
1 голос
/ 17 октября 2019

Вы можете установить android:layout_weight=1 параметр для TextView

...