ViewGroupBindingAdapter.java revision c619d8f69127c1200103d8119101c5f0675661d0
19cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien/*
29cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * Copyright (C) 2015 The Android Open Source Project
39cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien *
49cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * Licensed under the Apache License, Version 2.0 (the "License");
59cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * you may not use this file except in compliance with the License.
69cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * You may obtain a copy of the License at
79cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien *
89cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien *      http://www.apache.org/licenses/LICENSE-2.0
99cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien *
109cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * Unless required by applicable law or agreed to in writing, software
119cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * distributed under the License is distributed on an "AS IS" BASIS,
129cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * See the License for the specific language governing permissions and
149cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * limitations under the License.
159cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien */
169cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levienpackage android.databinding.adapters;
179cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien
189cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levienimport android.animation.LayoutTransition;
199cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levienimport android.annotation.TargetApi;
209cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levienimport android.databinding.BindingAdapter;
21a5bb91190edbea0be0e78a8511b3c920b6e99c4eBehdad Esfahbodimport android.databinding.BindingMethod;
220f2a025d135f9ca52cc3cf917fffc29d6c126094Seigo Nonakaimport android.databinding.BindingMethods;
239cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levienimport android.os.Build;
244d4e6bc8118d15542f1f2a9218f0f7a91a29474fRaph Levienimport android.view.ViewGroup;
254d4e6bc8118d15542f1f2a9218f0f7a91a29474fRaph Levien
26b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien@BindingMethods({
2713f1aae02bacd475722bc8ea3fc2cf6abc1a82e3Raph Levien        @BindingMethod(type = android.view.ViewGroup.class, attribute = "android:alwaysDrawnWithCache", method = "setAlwaysDrawnWithCacheEnabled"),
28b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien        @BindingMethod(type = android.view.ViewGroup.class, attribute = "android:animationCache", method = "setAnimationCacheEnabled"),
299cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien        @BindingMethod(type = android.view.ViewGroup.class, attribute = "android:splitMotionEvents", method = "setMotionEventSplittingEnabled"),
309cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien})
317b221d97b7b64dc5ce457e19666d55d042e22e62Raph Levienpublic class ViewGroupBindingAdapter {
327b221d97b7b64dc5ce457e19666d55d042e22e62Raph Levien
339cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
346d9dcd2cf3d3ed26a886e02d94c907311e7b1f83Seigo Nonaka    @BindingAdapter("android:animateLayoutChanges")
359cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien    public static void setAnimateLayoutChanges(ViewGroup view, boolean animate) {
369cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien        if (animate) {
379cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien            view.setLayoutTransition(new LayoutTransition());
386d9dcd2cf3d3ed26a886e02d94c907311e7b1f83Seigo Nonaka        } else {
396d9dcd2cf3d3ed26a886e02d94c907311e7b1f83Seigo Nonaka            view.setLayoutTransition(null);
406d9dcd2cf3d3ed26a886e02d94c907311e7b1f83Seigo Nonaka        }
416d9dcd2cf3d3ed26a886e02d94c907311e7b1f83Seigo Nonaka    }
426d9dcd2cf3d3ed26a886e02d94c907311e7b1f83Seigo Nonaka}
436d9dcd2cf3d3ed26a886e02d94c907311e7b1f83Seigo Nonaka