android – 样式属性在合并标记上不起作用

背景

我发现样式属性在合并标记上不起作用,可以单独应用属性或应用样式.

已知的解决方案

>在使用布局的标记上应用样式属性.例如,包含标签和自定义标签.
>只是不要使用合并.
>以编程方式应用样式.

但是,我正在寻找更好的解决方案.

为什么?

>这很乱.我每次使用布局时都必须应用样式属性.我把它作为一个单独的布局,因为它们可以重复使用.
>我故意使用合并标记,因为它们必须是父布局的直接子项.例如,标签是LinearLayout的子项.我应用layout_width =“0dp”和layout_weight =“1”使它们在父布局中同样跨越.
>原因#2加上标签以编程方式生成.因此,我只能以编程方式应用样式.它很丑陋,维护需要额外的努力.

目标

令人满意的解决方法.

用于插图目的的XML标签

<merge xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/CustomStyle">
    <!-- Omitted -->
</merge>

<merge xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1">
    <!-- Omitted -->
</merge>

以上两个标签都没有样式.

最佳答案 合并标记中的属性将被忽略.当XML解析器看到合并标记时,它会告诉它“跳过此标记并直接添加所有子项”.

点赞