DrawableRight 到 EditText 或 Button 的右端

DrawableRight to right end of EditText or Button

我想要我的 drawableRight 在我的编辑文本的末尾。

正如你在图片中看到的那样,它不在最后。

我的 EditText 代码:

<EditText
    android:id="@+id/btnDB"
    android:layout_width="300dp"
    android:layout_height="52dp"
    android:layout_marginTop="20dp"
    android:background="@drawable/textfield2r"
    android:layout_gravity="center"
    android:drawableRight="@drawable/db_ic"
    android:ems="10"
    android:text="Daten einsehen"
    android:textAlignment="viewEnd"
    android:paddingLeft="5dp"
    android:paddingTop="5dp"
    android:paddingEnd="5dp"
    android:paddingRight="5dp"
    android:textColor="#000000"
    android:textColorHint="#7A7A7A"
    android:textSize="18dp"
    tools:ignore="RtlCompat" />

这里是背景的xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#EBEBEB"/>
    <stroke
        android:width="1dp"
        android:color="#D30F1D"/>
    <padding
        android:bottom="0dp"
        android:left="0dp"
        android:right="0dp"
        android:top="0dp"/>
    <corners
        android:bottomLeftRadius="30dp"
        android:bottomRightRadius="30dp"
        android:topLeftRadius="30dp"
        android:topRightRadius="30dp"/>
</shape>

最后应该是这样的:

谢谢你帮助我, 亲切的问候,杰里米

您需要将结束填充设置为 0dp 而不是 5dp

或者理想情况下你可以将它设置为1dp因为背景的笔画是1dp

同时将paddingTop设置为1dp,使笔画框出现在底部

<EditText
    .....
    android:paddingTop="1dp"
    android:paddingEnd="1dp"
    android:paddingRight="1dp"

测试:

我终于修好了。

我做了一个 RTL 线性布局,我在其中放入了我的 EditText:

<LinearLayout
                android:layout_width="match_parent"
                android:layoutDirection="rtl"
                android:layout_height="match_parent"
                android:layout_weight="1.0"
                android:background="#00FFFFFF"
                android:orientation="vertical">

                <EditText
                    android:id="@+id/btnData"
                    android:layout_width="300dp"
                    android:layout_height="52dp"
                    android:layout_marginTop="20dp"
                    android:gravity="center_vertical|right"
                    android:background="@drawable/textfield2r"
                    android:layout_gravity="center"
                    android:drawableRight="@drawable/console"
                    android:ems="10"
                    android:text="Daten einsehen"
                    android:paddingLeft="5dp"
                    android:paddingTop="5dp"
                    android:paddingEnd="5dp"
                    android:paddingRight="5dp"
                    android:textColor="#000000"
                    android:textColorHint="#7A7A7A"
                    android:textSize="18dp" />

            </LinearLayout>

然后我改变了按钮背景的xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#EBEBEB"/>
<stroke
    android:width="1dp"
    android:color="#D30F1D"/>
<padding
    android:bottom="-1dp"
    android:left="0dp"
    android:right="-8dp"
    android:top="0dp"/>
<corners
    android:bottomLeftRadius="30dp"
    android:bottomRightRadius="30dp"
    android:topLeftRadius="30dp"
    android:topRightRadius="30dp"/>

现在一切都如我所愿