gpt4 book ai didi

android - 按钮的填充在没有背景的情况下不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:00 24 4
gpt4 key购买 nike

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

在我的布局中,我有一个按钮,左边是文本,右边是图标。我希望文本与按钮的边框保持 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" />

谢谢大家!

最佳答案

设置 minWidthminHeight 似乎可以使填充和边距在有或没有背景的情况下都能正常工作。

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

至于为什么背景会对填充的工作方式产生影响...我认为这与 View.java 中的这段代码有关

protected int getSuggestedMinimumWidth() {
return (mBackground == null) ? mMinWidth : max(mMinWidth, mBackground.getMinimumWidth());
}

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

https://stackoverflow.com/a/20323723/4401507

关于android - 按钮的填充在没有背景的情况下不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29690900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com