如何在样式中使用支持layout_columnWeight?

问题描述

我认为values / styles.xml中的这段代码说明了一切:

<!-- Style for the label above a button -->
<style name="baseLabel">
  <item name="android:gravity">center</item>
  <item name="android:layout_width">wrap_content</item>
  <item name="android:layout_height">wrap_content</item>
  <item name="android:layout_columnWeight">1</item>
  <item name="android:layout_gravity">center_horizontal|fill_horizontal</item>
</style>

来自layout / main.xml的相应条目可能类似于:

    <TextView
        style="@style/baseLabel" android:text="@string/lr12"
        app:layout_row="0"
        app:layout_column="1" />

没有构建错误,但是layout_gravity属性无效。 (如果我在布局文件app:layout_gravity="center_horizontal|fill_horizontal中设置它,效果很好)

解决方法

您正在以自己的样式设置android:layout_gravity,但在布局文件中以您说的内容设置app:layout_gravity。如果您希望它们执行相同的操作,则这些属性需要匹配,因此您应在样式中使用layout_gravitylayout_columnWeight