layout_with_include.xml revision 2ac58b34e5200a34b0ba63884c375a68c9a84303
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3  ~ Copyright (C) 2015 The Android Open Source Project
4  ~ Licensed under the Apache License, Version 2.0 (the "License");
5  ~ you may not use this file except in compliance with the License.
6  ~ You may obtain a copy of the License at
7  ~      http://www.apache.org/licenses/LICENSE-2.0
8  ~ Unless required by applicable law or agreed to in writing, software
9  ~ distributed under the License is distributed on an "AS IS" BASIS,
10  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11  ~ See the License for the specific language governing permissions and
12  ~ limitations under the License.
13  -->
14
15<layout xmlns:android="http://schemas.android.com/apk/res/android"
16        xmlns:bind="http://schemas.android.com/apk/res-auto">
17    <data>
18        <variable name="outerObject" type="android.databinding.testapp.vo.NotBindableVo"/>
19    </data>
20    <FrameLayout
21            android:layout_width="match_parent"
22            android:layout_height="match_parent">
23        <LinearLayout
24                android:orientation="vertical"
25                android:layout_width="match_parent"
26                android:layout_height="match_parent">
27            <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
28                      android:id="@+id/outerTextView"
29                      android:text="@{outerObject.stringValue}"/>
30            <!-- TODO test id collision-->
31            <include layout="@layout/included_layout" android:id="@+id/includedLayout"
32                     bind:innerObject="@{outerObject}"
33                     bind:innerValue="@{`modified ` + outerObject.intValue}"
34                    />
35            <!-- stick something in the middle that may mess with the tag IDs -->
36            <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
37                      android:text="@{`` + outerObject.intValue}"/>
38            <include layout="@layout/plain_layout" android:id="@+id/plainLayout"/>
39            <include layout="@layout/merge_layout"
40                     bind:innerObject="@{outerObject}"
41                     bind:innerValue="@{`hello ` + outerObject.intValue}"/>
42            <include layout="@layout/merge_layout"
43                     android:id="@+id/secondMerge"
44                     bind:innerObject="@{outerObject}"
45                     bind:innerValue="@{`goodbye ` + outerObject.intValue}"/>
46
47            <!-- now a merge within a merge -->
48            <include layout="@layout/merge_containing_merge"
49                     android:id="@+id/thirdMerge"
50                     bind:innerObject="@{outerObject}"
51                     bind:innerValue="@{`third ` + outerObject.intValue}"/>
52        </LinearLayout>
53    </FrameLayout>
54</layout>