Pyt*_*gen 2 android button padding android-layout android-studio
我正在开发一个应用程序,但我遇到了一个小问题.我是无边框按钮样式(style="@style/Base.Widget.AppCompat.Button.Borderless.Colored")的忠实粉丝,但我无法更改按钮上的填充.为什么我需要更改填充?因为按钮的最小填充或宽度可能使它们看起来不舒服,或者只是浪费空间.当文本很少时,可以看到此问题:
有上限的间距是按钮的最小宽度为"上限"的间距.我已经尝试以编程方式将填充设置为零并且使用XML填充填充但是没有任何作用.我注意到AlertDialog这个问题并没有那么糟糕:
您可以在后台看到与Capog相比的'Capped'间距卡.我的问题是,我如何自己减少填充?我宁愿不必为按钮编写自定义样式.
一种选择是将AlertDialog按钮样式应用于按钮:
style="@style/Widget.AppCompat.Button.ButtonBar.AlertDialog"
Run Code Online (Sandbox Code Playgroud)
有关更详细的答案,此处文本周围的空间并不完全是填充.最小大小由样式中设置的其他属性确定,这就是为什么尝试调整填充不起作用的原因,填充只会对较大的按钮(即较长的文本)产生影响.
如果我们深入研究这些风格,它会揭示出一种可能有用的技巧.该AlertDialog按钮样式看起来是这样的:
<!-- Alert dialog button bar button -->
<style name="Widget.Material.Button.ButtonBar.AlertDialog"
parent="Widget.Material.Button.Borderless.Colored">
<item name="minWidth">64dp</item>
<item name="minHeight">@dimen/alert_dialog_button_bar_height</item>
</style>
Run Code Online (Sandbox Code Playgroud)
因此AlertDialog按钮实际上继承了Borderless.Colored样式,只调整了几个属性:minWidth和minHeight.
您也可以通过制作类似于上面的样式,或者通过设置minWidth和/或minHeight直接在按钮上执行此操作.
<Button
....
style="@style/Widget.AppCompat.Button.Borderless.Colored"
android:minWidth="48dp"
android:minHeight=... />
Run Code Online (Sandbox Code Playgroud)
玩这些将有希望获得你正在寻找的结果,如果你设置minWidth和minHeight0dp,那么它将成为关于内容和填充的全部内容.
| 归档时间: |
|
| 查看次数: |
1573 次 |
| 最近记录: |