美文网首页
[Android][DataBinding][DataBindi

[Android][DataBinding][DataBindi

作者: lgy_gg | 来源:发表于2019-05-28 09:34 被阅读0次

1.布局详解(Layout Detail)

在 “DataBinding入门使用(一)”一文中已经介绍了,DataBinding的布局文件的起始根标签是layout,接下来一个data标签以及一个view标签。下面仔细研究一下这个布局文件。

1)import元素在data标签中使用,这样可以让你像在java代码中导入你的类文件。

<data>
    <variable
        name="image"
        type="com.tan.lgy.testdatabinding.sanpleThreeLayoutDetail.ImageData"/>
    <variable
        name="handler"
        type="com.tan.lgy.testdatabinding.sanpleThreeLayoutDetail.MyHandlers"/>
    <import type="android.view.View"/>
</data>

现在你可以在你的表达式中使用View了:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:android="http://schemas.android.com/apk/res/android">
    <data>
        <variable
            name="image"
            type="com.tan.lgy.testdatabinding.sanpleThreeLayoutDetail.ImageData"/>
        <variable
            name="handler"
            type="com.tan.lgy.testdatabinding.sanpleThreeLayoutDetail.MyHandlers"/>
        <import type="android.view.View"/>
    </data>

    <LinearLayout
        android:id="@+id/body"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        >

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:src="@mipmap/ic_launcher"
            android:visibility="@{image.visibility?View.VISIBLE:View.INVISIBLE}"/>

        <Button
            android:id="@+id/show"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="@{(view) -> handler.onShowBtnClick(view,image)}"/>
    </LinearLayout>
</layout>

可以看到,这个布局文件里的ImageView直接能使用View了

相关文章

网友评论

      本文标题:[Android][DataBinding][DataBindi

      本文链接:https://www.haomeiwen.com/subject/zkxrtctx.html