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