首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >android:可绘制左边距和/或填充

android:可绘制左边距和/或填充
EN

Stack Overflow用户
提问于 2010-07-27 01:36:17
回答 16查看 276.4K关注 0票数 418

是否可以为我们使用android:drawableLeft添加的图像设置边距或填充

EN

回答 16

Stack Overflow用户

发布于 2011-07-13 05:44:03

正如cephus提到的,如果按钮足够小,android:drawablePadding只会强制在文本和可绘制之间进行填充。

当布局较大的按钮时,您可以结合使用android:drawablePaddingandroid:paddingLeftandroid:paddingRight来强制文本和可绘制内容向内靠近按钮的中心。通过分别调整左侧和右侧填充,您可以对布局进行非常详细的调整。

下面是一个示例按钮,它使用填充来使文本和图标之间的距离比默认情况下更近:

代码语言:javascript
复制
<Button android:text="@string/button_label" 
    android:id="@+id/buttonId"
    android:layout_width="160dip"
    android:layout_height="60dip"
    android:layout_gravity="center"
    android:textSize="13dip"
    android:drawableLeft="@drawable/button_icon"
    android:drawablePadding="2dip"
    android:paddingLeft="30dip"
    android:paddingRight="26dip"
    android:singleLine="true"
    android:gravity="center" />  
票数 498
EN

Stack Overflow用户

发布于 2010-09-19 13:20:17

如果按钮足够小,可以将文本和可绘制内容挤压在一起,则android:drawablePadding只会在文本和绘图之间创建填充间隙。如果你的按钮比宽度(对于drawableLeft/drawableRight)或高度(对于drawableTop/drawableBottom)更宽,那么drawablePadding不会做任何事情。

我现在也在努力解决这个问题。我的按钮很宽,图标挂在按钮的左边缘,文本居中。我现在解决这个问题的唯一方法就是用photoshop在画布的左边缘添加空白像素,在画布上留出空白处。不是很理想,也不是很推荐。但这是我目前的权宜之计,除了重建TextView/Button。

票数 68
EN

Stack Overflow用户

发布于 2015-05-20 00:04:03

创建可绘制的resources.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true">
        <inset android:drawable="@drawable/small_m" android:insetLeft="10dp" android:insetTop="10dp" />
    </item>
    <item>
        <inset android:drawable="@drawable/small_p" android:insetLeft="10dp" android:insetTop="10dp" />
    </item>
</selector>
票数 40
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3337371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档