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