如何在styles.xml中设置按钮layout_constraintWidth_percent?

我需要我应用程序的所有按钮都具有相同的宽度和高度。所以我尝试在styles.xml中这样做:

<style name="Apptheme" parent="Theme.AppCompat.Light.NoactionBar">
    <item name="android:buttonStyle">@style/MyButton</item>
</style>

<style name="MyButton" parent="@style/Widget.AppCompat.Button">
    <item name="layout_constraintHeight_percent">0.15</item>
    <item name="layout_constraintWidth_percent">0.23</item>
</style>

它不起作用,按钮忽略了这些值。如何实现呢?

而且,一旦实现,我该如何覆盖某些我需要更大的特定按钮的值?

yanchenghua2009 回答:如何在styles.xml中设置按钮layout_constraintWidth_percent?

您需要为每个受影响的按钮将以下内容添加到XML:

style="@style/MyButton"

那是为什么?该按钮使用属性android:buttonStyle自定义样式。您要更改的值与布局有关,与按钮无关,而与 ConstraintLayout 无关。

在布局期间, ConstraintLayout 不会查看主题中设置的android:buttonStyle属性,因此它会丢失您在按钮样式中设置的值。 style="@style/MyButton"会将按钮样式中的值强制放入布局所考虑的属性中,并且按钮将随您的更改一起出现。

显式设置样式不那么简洁,但是可以使用。

,

您需要将按钮的高度和宽度设置为0dp,这样才能正常工作。

在任何情况下,如果您需要更大的按钮,则可以在该按钮中使用percent属性,这样将忽略样式百分比约束。

本文链接:https://www.f2er.com/3096424.html

大家都在问