Android 工作室自定义按钮样式填充问题
Android studio custom button style padding issues
经过 4 个月的不活动后,我意识到有一些变化。
现在,当您创建一个新按钮时,它是紫色的并且定义了一些填充。通过编辑主题设法消除了紫色,但我仍然遇到填充问题。当我制作一个新按钮时,默认情况下它的左右填充为 16dp,顶部和底部为 4。我不想被迫将每个新按钮更改为 0 填充..
我有两个选择。在自定义按钮中设置填充 xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="12dp" />
<solid android:color="#000000" />
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp" />
</shape>
...但由于某些原因,这不起作用。
有人能找出问题所在吗?
或者告诉我如何更改新按钮的默认填充值?
还有一些 insetBotton 和 insetTop 的值默认设置为 0 而不是 6
转到您的 res
文件夹 -> values
-> styles
在下面插入以下行以编辑 standard button
et voilà:
<style name="AppTheme" parent="Widget.AppCompat.Button">
<item name="android:minWidth">0dp</item>
<item name="android:minHeight">0dp</item>
</style>
这应该行得通,试一试吧伙计。
使用 Material 组件主题,Button
在运行时被 MaterialButton
替换。
MaterialButton
的默认样式为 insetBottom
和 insetTop
,值为 6dp
。
如果您想全局更改 应用中的按钮样式,您还可以在应用主题中添加 materialButtonStyle
属性:
<style name="AppTheme" parent="Theme.MaterialComponents.*">
<item name="materialButtonStyle">@style/Widget.App.Button</item>
</style>
<style name="Widget.App.Button" parent="Widget.MaterialComponents.Button">
<item name="android:paddingLeft">....</item>
<item name="android:paddingRight">...</item>
<item name="android:insetTop">...</item>
<item name="android:insetBottom">....</item>
</style>
经过 4 个月的不活动后,我意识到有一些变化。
现在,当您创建一个新按钮时,它是紫色的并且定义了一些填充。通过编辑主题设法消除了紫色,但我仍然遇到填充问题。当我制作一个新按钮时,默认情况下它的左右填充为 16dp,顶部和底部为 4。我不想被迫将每个新按钮更改为 0 填充..
我有两个选择。在自定义按钮中设置填充 xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="12dp" />
<solid android:color="#000000" />
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp" />
</shape>
...但由于某些原因,这不起作用。
有人能找出问题所在吗?
或者告诉我如何更改新按钮的默认填充值?
还有一些 insetBotton 和 insetTop 的值默认设置为 0 而不是 6
转到您的 res
文件夹 -> values
-> styles
在下面插入以下行以编辑 standard button
et voilà:
<style name="AppTheme" parent="Widget.AppCompat.Button">
<item name="android:minWidth">0dp</item>
<item name="android:minHeight">0dp</item>
</style>
这应该行得通,试一试吧伙计。
使用 Material 组件主题,Button
在运行时被 MaterialButton
替换。
MaterialButton
的默认样式为 insetBottom
和 insetTop
,值为 6dp
。
如果您想全局更改 应用中的按钮样式,您还可以在应用主题中添加 materialButtonStyle
属性:
<style name="AppTheme" parent="Theme.MaterialComponents.*">
<item name="materialButtonStyle">@style/Widget.App.Button</item>
</style>
<style name="Widget.App.Button" parent="Widget.MaterialComponents.Button">
<item name="android:paddingLeft">....</item>
<item name="android:paddingRight">...</item>
<item name="android:insetTop">...</item>
<item name="android:insetBottom">....</item>
</style>