Android 按钮';没有背景,s填充不起作用

Android 按钮';没有背景,s填充不起作用,android,button,padding,Android,Button,Padding,今天我遇到了一个奇怪的布局问题,我还没有从谷歌那里找到任何有用的答案 在我的布局中,我有一个按钮,左边是文本,右边是图标。我想文本是20dp左边距的按钮边框,然后我设置paddingLeft按钮,但它不工作。碰巧,我为按钮设置了背景色,填充效果很好。任何人都可以帮我解释这件事 布局如下图所示 <Buttonandroid:layout_width="fill_parent" android:drawableRight="@drawable/right_arrow"

今天我遇到了一个奇怪的布局问题,我还没有从谷歌那里找到任何有用的答案

在我的布局中,我有一个按钮,左边是文本,右边是图标。我想文本是20dp左边距的按钮边框,然后我设置paddingLeft按钮,但它不工作。碰巧,我为按钮设置了背景色,填充效果很好。任何人都可以帮我解释这件事

布局如下图所示

<Buttonandroid:layout_width="fill_parent"
        android:drawableRight="@drawable/right_arrow"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:layout_height="72dp"
        android:text="Button"
        android:id="@+id/btn"
        android:gravity="center_vertical"
        android:fontFamily="roboto regular"
        android:textColor="#ffffff00"
        style="@android:style/Widget.DeviceDefault.Button.Borderless" />

谢谢大家!

添加这个

android:drawablePadding="20dp"
你可以试试这个

您可以使用Textview,而不是使用按钮,它的工作原理与您想要的相同

 <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/right_arrow"
        android:gravity="center_vertical"
        android:text="Button"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:textColor="#ffffff00" />


希望这对您有用。

设置
minWidth
minHeight
似乎可以让填充和边距在有背景或无背景的情况下正常工作

<Button 
    android:minHeight="0dp"
    android:minWidth="0dp" ...

是否要将按钮和绘图板分开?我更新了问题。我希望图标的右边距是20dp,文本的左边距是20dp,我的按钮的边框。我在这个问题中真正需要的是解释为什么没有设置按钮的背景色,左边的填充就不能工作……你能添加一个屏幕截图来显示你得到了什么和你想要什么吗?“android:padding”使用了一个按钮,但不是特定的填充(例如“android:paddingLeft”)。将我的按钮更改为文本视图解决了我的问题。谢谢,谢谢你的建议。你的“android:padding”评论也帮我解决了这个问题,但为什么呢?
protected int getSuggestedMinimumWidth() {
    return (mBackground == null) ? mMinWidth : max(mMinWidth, mBackground.getMinimumWidth());
}

protected int getSuggestedMinimumHeight() {
    return (mBackground == null) ? mMinHeight : max(mMinHeight, mBackground.getMinimumHeight());
}