被忽略的样式中的android属性



我为按钮网格创建了一个按钮样式,但由于某种奇怪的原因,该样式的一个属性不起作用。这很奇怪,因为其他一切都是这样。有人能发现问题吗?

这是我的按钮:

    <Button
        style="@style/BtnStyle"
            grid:layout_columnWeight="1"
        android:text="7" />

这里是它的风格:

<style name="BtnStyle">
    <item name="android:layout_width">@dimen/btn_width</item>
    <item name="android:layout_height">@dimen/btn_height</item>
    <item name="android:textSize">@dimen/btn_text_size</item>
    <item name="android:background">@drawable/btn_shape</item>
    <item name="android:textColor">#ffffff</item>
    <item name="grid:layout_columnWeight">1</item>
    <item name="grid:layout_gravity">fill_horizontal</item>
    <item name="android:gravity">center</item>
</style>

正在传播所有属性,但忽略"grid:layout_columnWeight"。所以我不得不重复多次。

谢谢!

我不网格:layout_columnWeight是一个有效的android属性,因为它的前缀是grid,而不是android。如果您使用的是GridLayout,您可能需要使用android:layout_columnWeight(https://developer.android.com/reference/android/widget/GridLayout.LayoutParams.html)

如果它是库中的属性,您可能需要添加类似的内容

xmlns:appcompat="http://schemas.android.com/apk/res-auto"

在xml的根标记中。

如果是自定义库,我认为您应该在res/attr/

中定义属性

最新更新