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"/>
现在一切都如我所愿
我想要我的 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"/>
现在一切都如我所愿