summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2015-09-30 13:42:10 -0700
committerGeorge Mount <mount@google.com>2015-10-05 11:13:34 -0700
commite562335722e3644c582cc8f7fb564bce2b869cb5 (patch)
tree3b83b4ca3a989c75046b1ba38b36bc119dc07e15 /extensions
parent219d16f518d161d9fcc1f0eca950863105990568 (diff)
downloaddata-binding-e562335722e3644c582cc8f7fb564bce2b869cb5.tar.gz
Add binding adapter for android:background
Bug 24535696 setBackground exists only in API 16+, but android:background should be available in all versions down to API 1. Change-Id: I08b847eb36281d15428a3e71d37c44d6fe06599b
Diffstat (limited to 'extensions')
-rw-r--r--extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewBindingAdapter.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewBindingAdapter.java b/extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewBindingAdapter.java
index 636f80db..aece41be 100644
--- a/extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewBindingAdapter.java
+++ b/extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewBindingAdapter.java
@@ -19,6 +19,7 @@ import android.annotation.TargetApi;
import android.databinding.BindingAdapter;
import android.databinding.BindingMethod;
import android.databinding.BindingMethods;
+import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
@@ -202,6 +203,16 @@ public class ViewBindingAdapter {
}
}
+ @SuppressWarnings("deprecation")
+ @BindingAdapter("android:background")
+ public static void setBackground(View view, Drawable drawable) {
+ if (VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN) {
+ view.setBackground(drawable);
+ } else {
+ view.setBackgroundDrawable(drawable);
+ }
+ }
+
// Follows the same conversion mechanism as in TypedValue.complexToDimensionPixelSize as used
// when setting padding. It rounds off the float value unless the value is < 1.
// When a value is between 0 and 1, it is set to 1. A value less than 0 is set to -1.