从右到左而不是从左到右开始按钮
Start Button from Right to Left Instead of Left to Right
我正在尝试使 LinearLayout
中的 Button
从右侧开始并设置 Button
5dp
从右边缘开始LinearLayout
,按钮左侧显示 TextView
。目前,它只允许从线性布局的 "left" 边缘设置按钮。我尝试了各种方法,但似乎没有任何效果。
<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>
您可以将 android:layout_weight=1
参数设置为 TextView
在您的 xml 中使用 layoutGravity 标签作为(右,左)
您必须在布局中添加 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">
使用这个android:layout_gravity作为(左,右)你可以参考这个link What is the difference between gravity and layout_gravity in Android?
在您的情况下,您只需在 LinearLayout
中更改添加 android:gravity="right"
属性即可。
<LinearLayout
android:gravity="right"
之前:
之后:
您还可以考虑使用 MaterialButton
添加文本和图标来做一些不同的事情。
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.Button.Icon"
app:icon="@drawable/..."
app:iconGravity="end"
android:text="@string/..."/>
我正在尝试使 LinearLayout
中的 Button
从右侧开始并设置 Button
5dp
从右边缘开始LinearLayout
,按钮左侧显示 TextView
。目前,它只允许从线性布局的 "left" 边缘设置按钮。我尝试了各种方法,但似乎没有任何效果。
<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>
您可以将 android:layout_weight=1
参数设置为 TextView
在您的 xml 中使用 layoutGravity 标签作为(右,左)
您必须在布局中添加 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">
使用这个android:layout_gravity作为(左,右)你可以参考这个link What is the difference between gravity and layout_gravity in Android?
在您的情况下,您只需在 LinearLayout
中更改添加 android:gravity="right"
属性即可。
<LinearLayout
android:gravity="right"
之前:
您还可以考虑使用 MaterialButton
添加文本和图标来做一些不同的事情。
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.Button.Icon"
app:icon="@drawable/..."
app:iconGravity="end"
android:text="@string/..."/>