这是我的 TextView
布局:
如您所见,边框(stroke
)和TextView
内的图像之间有一个填充, 这是使用 drawableLeft
给出的属性。
我知道我可以使用 drawablePadding
属性来调整图像和文本之间的填充,但我想删除笔划和图像之间的填充。我可以做那样的事吗?并且,可能来自 XML?
这是 TextView
的布局:
<TextView
android:id="@+id/txtPlate2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableStart="@mipmap/ic_italian_plate"
android:textColor="@color/black"
android:textSize="40sp"
android:text="text"
android:textAlignment="center"
android:paddingStart="0dp"
android:paddingEnd="5dp"
android:background="@drawable/plate_textview"/>
这是plate_textview
drawable,我只是在其中添加一个 stroke
:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<solid
android:color="@android:color/white"/>
<stroke
android:width="2dip"
android:color="@color/black"/>
</shape>
提前致谢!
最佳答案
问题是您正在使用 mipmap
文件夹中的图像。 mipmap
仅用于 launcher
图标,并在 padding
上显示时添加了额外的 elevation
和 view
。
Always keep
resource
icons indrawable
folder and use it as@drawable/ic_italian_plate
.
#. 您可以使用 padding
和 corners
添加 drawable
和 <padding>
到自定义 <corners>
。
更新 plate_textview.xml
如下:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<solid
android:color="@android:color/white"/>
<stroke
android:width="2dp"
android:color="@color/black"/>
<padding
android:top="2dp"
android:bottom="2dp"
android:left="2dp"
android:right="8dp" />
<corners
android:radius="2dp" />
</shape>
更新 TextView
如下:
<TextView
android:id="@+id/txtPlate2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:gravity="center"
android:drawableStart="@drawable/ic_italian_plate"
android:textColor="@color/black"
android:textSize="40sp"
android:text="I-123-4568"
android:textAlignment="center"
android:background="@drawable/plate_textview"/>
输出:
希望对你有帮助~
关于android - Textview 边框和 drawableLeft 之间的填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44356719/