diff options
author | George Mount <mount@google.com> | 2015-09-30 13:42:10 -0700 |
---|---|---|
committer | George Mount <mount@google.com> | 2015-10-05 11:13:34 -0700 |
commit | e562335722e3644c582cc8f7fb564bce2b869cb5 (patch) | |
tree | 3b83b4ca3a989c75046b1ba38b36bc119dc07e15 /extensions | |
parent | 219d16f518d161d9fcc1f0eca950863105990568 (diff) | |
download | data-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.java | 11 |
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. |