如何使用带<include />参数的布局?

范·阿普林

我有一个问题,那就是我有一些ViewGroup,它们的内容几乎相同。像这样:

<LinearLayout>
    <TextView android:text="aaa"/>
    <ImageView android:src="bbb"/>
</LinearLayout>

<LinearLayout>
    <TextView android:text="ccc"/>
    <ImageView android:src="ddd"/>
</LinearLayout>

我想转换成这样:

<include layout="xxLayout"
    param1="aaa"
    param2="bbb"/>
<include layout="xxLayout"
    param1="ccc"
    param2="ddd"/>


xxLayout.xml
<LinearLayout>
    <TextView android:text="{param1}"/>
    <ImageView android:src="{param2}"/>
</LinearLayout>

我知道我可以使用Java代码来做到这一点。有可能只使用xml吗?

波默罗伊

多亏了数据绑定库,仅使用xml就可以实现:

首先包装xxLayout.xml一个布局,然后添加一个数据绑定类定义,该定义列出了要传递到包含的布局中的变量。

<layout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <data>
        <variable name="myText" type="java.lang.String"/>
        <variable name="mySrc" type="android.graphics.drawable.Drawable"/>
    </data>

    <LinearLayout>
        <TextView android:text="@{myText}"/>
        <ImageView android:src="@{mySrc}"/>
    </LinearLayout>
</layout>

然后使用数据绑定库使包含的布局膨胀,并使用数据绑定语句注入所需的值。有关数据绑定表达语言及其支持的详细信息,请参见数据绑定库文档

<layout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <LinearLayout>
        <include layout="xxLayout"
            app:myText="@{`aaa`}"
            app:mySrc="@{@drawable/bbb}"/>
        <include layout="xxLayout"
            app:myText="@{`ccc`}"
            app:mySrc="@{@drawable/ddd}"/>
    </LinearLayout>
</layout>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用带参数的模块?

来自分类Dev

如何使用带条件参数的printf

来自分类Dev

如何使用带参数的回调函数?

来自分类Dev

如何使用带参数的python装饰器?

来自分类Dev

如何使用带参数的CreateProcessAsUser是日文?

来自分类Dev

如何使用带条件参数的printf

来自分类Dev

如何使用带参数的 JS clearTimeout?

来自分类Dev

如何在<include>中覆盖孩子的参数

来自分类Dev

如何在<include>中覆盖孩子的参数

来自分类Dev

Django使用include()作为path()参数

来自分类Dev

允许使用哪些令牌作为#include的参数?

来自分类Dev

使用数据绑定将数据传递到<include>布局

来自分类Dev

使用日文布局,如何输入带重音的字母?

来自分类Dev

如何定义扩展布局的AttributeSet参数

来自分类Dev

布局参数:我使用什么导入?

来自分类Dev

如何使用 <include/> 标签包含子文件夹布局 android

来自分类Dev

使用“ include”标签,为父级布局引用的布局进行充气

来自分类Dev

如何在带参数的SQL查询中使用通配符

来自分类Dev

如何在Mule中使用带参数的存储过程

来自分类Dev

如何使用带参数的Android Apache HttpDelete类

来自分类Dev

如何使用带变量的Action(Of T)参数调用方法

来自分类Dev

如何在Django中使用带参数的重定向?

来自分类Dev

如何在带参数的SQL查询中使用通配符

来自分类Dev

如何使用带参数的字符串从mySQL获取数据?

来自分类Dev

如何在Scala中使用带参数的singelton(对象)?

来自分类Dev

如何在Django中使用带参数的重定向?

来自分类Dev

如何使用带参数的 Windows 任务计划运行命令

来自分类Dev

如何使用 SCCM 服务器推送带参数的 MSI

来自分类Dev

如何使用 TypeScript 的 async/await 和带参数获取?

Related 相关文章

  1. 1

    如何使用带参数的模块?

  2. 2

    如何使用带条件参数的printf

  3. 3

    如何使用带参数的回调函数?

  4. 4

    如何使用带参数的python装饰器?

  5. 5

    如何使用带参数的CreateProcessAsUser是日文?

  6. 6

    如何使用带条件参数的printf

  7. 7

    如何使用带参数的 JS clearTimeout?

  8. 8

    如何在<include>中覆盖孩子的参数

  9. 9

    如何在<include>中覆盖孩子的参数

  10. 10

    Django使用include()作为path()参数

  11. 11

    允许使用哪些令牌作为#include的参数?

  12. 12

    使用数据绑定将数据传递到<include>布局

  13. 13

    使用日文布局,如何输入带重音的字母?

  14. 14

    如何定义扩展布局的AttributeSet参数

  15. 15

    布局参数:我使用什么导入?

  16. 16

    如何使用 <include/> 标签包含子文件夹布局 android

  17. 17

    使用“ include”标签,为父级布局引用的布局进行充气

  18. 18

    如何在带参数的SQL查询中使用通配符

  19. 19

    如何在Mule中使用带参数的存储过程

  20. 20

    如何使用带参数的Android Apache HttpDelete类

  21. 21

    如何使用带变量的Action(Of T)参数调用方法

  22. 22

    如何在Django中使用带参数的重定向?

  23. 23

    如何在带参数的SQL查询中使用通配符

  24. 24

    如何使用带参数的字符串从mySQL获取数据?

  25. 25

    如何在Scala中使用带参数的singelton(对象)?

  26. 26

    如何在Django中使用带参数的重定向?

  27. 27

    如何使用带参数的 Windows 任务计划运行命令

  28. 28

    如何使用 SCCM 服务器推送带参数的 MSI

  29. 29

    如何使用 TypeScript 的 async/await 和带参数获取?

热门标签

归档