@BindingAdapter({"checked", "model"})
public static <T> void setChecked(RadioButton radioButton, final ObservableField<T> checked, final T model) {
if (checked == null) {
return;
}
radioButton.setOnCheckedChangeListener(
(buttonView, isChecked) -> {
if ((checked.get() == null || !checked.get().equals(model))
&& isChecked) {
checked.set(model);
}
});
final T checkedModel = checked.get();
final boolean shouldBeChecked = checkedModel != null && checkedModel.equals(model);
if (shouldBeChecked != radioButton.isChecked()) {
radioButton.setChecked(shouldBeChecked);
}
}
java类android.databinding.BindingAdapter的实例源码
BindingAdapters.java 文件源码
项目:Flubber
阅读 24
收藏 0
点赞 0
评论 0
BindingAdapters.java 文件源码
项目:Flubber
阅读 35
收藏 0
点赞 0
评论 0
@BindingAdapter("model")
public static void bindToModel(DiscreteSeekBar seekBar, final SeekBarModel model) {
DiscreteSeekBar.NumericTransformer transformer = seekBar.getNumericTransformer();
if (!(transformer instanceof NumericTransformer)) {
transformer = new NumericTransformer();
seekBar.setNumericTransformer(transformer);
}
final NumericTransformer customTransformer = (NumericTransformer) transformer;
customTransformer.setValues(model.getMinValue(), model.getMaxValue());
seekBar.setMin(0);
seekBar.setMax(100);
final int percentage = (int) customTransformer.transformToPercentage(model.getValue().get());
// Bug in the library
seekBar.setProgress(1);
seekBar.setProgress(percentage);
seekBar.setOnProgressChangeListener(
SimpleOnProgressChangeListener.forStopTrackingTouch(seekBar1 -> {
model.getValue().set(customTransformer.transformFromPercentage(seekBar.getProgress()));
}));
}
BaseBindingAdapter.java 文件源码
项目:LiteReader
阅读 29
收藏 0
点赞 0
评论 0
@BindingAdapter("elevation")
public static void elevationBoolean(View view, boolean elevation) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && elevation) {
view.setElevation(view.getContext().getResources().getInteger(R.integer.common_elevation));
} else {
jLogger.w("Sorry, the system version of the device is under API 21, elevation will take no effect.");
}
}
BaseBindingAdapter.java 文件源码
项目:LiteReader
阅读 28
收藏 0
点赞 0
评论 0
@BindingAdapter("android:visibility")
public static void setVisibility(View view, int visibility) {
switch (visibility) {
case 0:
view.setVisibility(View.VISIBLE);
break;
case 4:
view.setVisibility(View.INVISIBLE);
break;
case 8:
view.setVisibility(View.GONE);
break;
default:
view.setVisibility(View.GONE);
break;
}
}
LineChartExtensions.java 文件源码
项目:exchange-rates-mvvm
阅读 36
收藏 0
点赞 0
评论 0
@BindingAdapter({"bind:items"})
public static void populateDiagram(LineChart view, List<SingleValue> items) {
if (null == items || items.size() == 0) {
return;
}
List<Entry> entries = new ArrayList<>();
for (int i = 0; i < items.size(); i++) {
final SingleValue item = items.get(i);
final Entry entry = new Entry(i, (float) item.getValue(), item);
entries.add(entry);
}
LineDataSet dataSet = new LineDataSet(entries, view.getContext().getString(R.string.currency_value));
LineData lineData = new LineData(dataSet);
formatXAxisLabels(view, items);
view.setData(lineData);
view.invalidate();
}
BindingAdapters.java 文件源码
项目:bikedeboa-android
阅读 28
收藏 0
点赞 0
评论 0
@BindingAdapter({"imageAddress"})
public static void loadImage(final ImageView imageView, final String imageAddress) {
if (imageAddress != null && imageAddress.startsWith("https://s3.amazonaws.com/bikedeboa/")) {
Context context = imageView.getContext();
// Hopefully the thumbnail is already disk cached and no requests are made
DrawableRequestBuilder<String> thumbnailRequest = Glide
.with(context)
.load(imageAddress.replace("images/", "images/thumbs/"))
.diskCacheStrategy(DiskCacheStrategy.ALL)
.override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.transform(new BlurTransformation(context));
Glide.with(context)
.load(imageAddress)
.thumbnail(thumbnailRequest)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.priority(Priority.HIGH)
.into(imageView);
}
}
ViewGroupAdapter.java 文件源码
项目:MVVM-JueJin
阅读 31
收藏 0
点赞 0
评论 0
/**
* (伪)双向 databinding: 同 {@link RecyclerViewAdapter#setDataTwoWay(RecyclerView, ListVM, List)}
*
* @param container
* @param vm
* @param datas
* @param <T>
*/
@BindingAdapter({"vm", "data"})
public static <T> void setDataTwoWay(final ViewGroup container, final ListVM<T> vm, List<T> datas){
if(vm == null){
return ;
}
bind(container, vm, datas);
if(vm instanceof TwoWayListVM){
boolean isInited = container.getTag(R.id.db_inited) != null;
if(!isInited) {
container.setTag(R.id.db_inited, true);
loadData(container, (TwoWayListVM<T>)vm, null, null);
}
}
}
DataBindingAdapters.java 文件源码
项目:OpenYOLO-Android
阅读 33
收藏 0
点赞 0
评论 0
/**
* Facilitates binding editor action listeners on EditText fields.
*/
@BindingAdapter("onEditorAction")
public static void setOnEditorActionListener(
EditText layout,
TextView.OnEditorActionListener listener) {
layout.setOnEditorActionListener(listener);
}
DatabindingUtil.java 文件源码
项目:Discover
阅读 24
收藏 0
点赞 0
评论 0
@BindingAdapter("circleImageUrl")
public static void setCircleImage(CircleImageView view, String url) {
Glide.with(view.getContext()).load(url)
.crossFade(800)
.dontAnimate()
.placeholder(R.drawable.cross_image)
.error(R.drawable.close_press)
.into(view);
/*Glide.with(view.getContext()).load(url)
.asBitmap()
.placeholder(R.drawable.cross_image)
.error(R.drawable.close_press)
.into(new BitmapImageViewTarget(view) {
@Override
protected void setResource(Bitmap resource) {
super.setResource(resource);
RoundedBitmapDrawable circleImage = RoundedBitmapDrawableFactory.create(view.getResources(), resource);
circleImage.setCircular(true);
view.setImageDrawable(circleImage);
}
});*/
}
DataBindingAdapter.java 文件源码
项目:RetrofitSample
阅读 42
收藏 0
点赞 0
评论 0
@BindingAdapter(value = {"imageUrl", "defaultImg", "radius"}, requireAll = false)
public static void setImage(ImageView imageView, String imageUrl, Drawable defaultImg, int radius) {
DrawableRequestBuilder drawableTypeRequest = Glide.with(imageView.getContext()).load(imageUrl).crossFade();
if (defaultImg != null) {
drawableTypeRequest.placeholder(defaultImg).error(defaultImg);
} else {
drawableTypeRequest.placeholder(R.drawable.bg_defautl_imageview).error(R.drawable.bg_defautl_imageview);
}
if (radius > 0) {
drawableTypeRequest.bitmapTransform(new CenterCrop(imageView.getContext()),
new RoundedCornersTransformation(imageView.getContext(), PixelUtil.dp2px(radius), 0));
} else {
drawableTypeRequest.bitmapTransform(new CenterCrop(imageView.getContext()));
}
drawableTypeRequest.into(imageView);
}
ImgLoadUtil.java 文件源码
项目:ClouldReader
阅读 38
收藏 0
点赞 0
评论 0
/**
* 电影详情页显示电影图片(等待被替换)(测试的还在,已可以弃用)
* 没有加载中的图
*/
@BindingAdapter("android:showImg")
public static void showImg(ImageView imageView, String url) {
Glide.with(imageView.getContext())
.load(url)
.crossFade(500)
.error(getDefaultPic(0))
.into(imageView);
}
ImgLoadUtil.java 文件源码
项目:ClouldReader
阅读 36
收藏 0
点赞 0
评论 0
/**
* 书籍列表图片
*/
@BindingAdapter("android:showBookImg")
public static void showBookImg(ImageView imageView, String url) {
Glide.with(imageView.getContext())
.load(url)
.crossFade(500)
.override((int) CommonUtils.getDimens(R.dimen.book_detail_width), (int) CommonUtils.getDimens(R.dimen.book_detail_height))
.placeholder(getDefaultPic(2))
.error(getDefaultPic(2))
.into(imageView);
}
BindingAdapters.java 文件源码
项目:AndroidModules-Samples
阅读 31
收藏 0
点赞 0
评论 0
@BindingAdapter("src")
public static void setImageSrc(ImageView view, File file) {
if (file != null) {
Glide.with(view).load(file).into(view);
} else {
Glide.with(view).clear(view);
}
}
LengthBindings.java 文件源码
项目:data-binding-validator
阅读 32
收藏 0
点赞 0
评论 0
@BindingAdapter(value = {"validateMinLength", "validateMinLengthMessage", "validateMinLengthAutoDismiss"}, requireAll = false)
public static void bindingMinLength(TextView view, int minLength, String errorMessage, boolean autoDismiss) {
if (autoDismiss) {
EditTextHandler.disableErrorOnChanged(view);
}
String handledErrorMessage = ErrorMessageHelper.getStringOrDefault(view,
errorMessage, R.string.error_message_min_length, minLength);
ViewTagHelper.appendValue(R.id.validator_rule, view, new MinLengthRule(view, minLength, handledErrorMessage));
}
CommentViewModel.java 文件源码
项目:GitHub
阅读 23
收藏 0
点赞 0
评论 0
@BindingAdapter("containerMargin")
public static void setContainerMargin(View view, boolean isTopLevelComment) {
if (view.getTag() == null) {
view.setTag(true);
ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams)
view.getLayoutParams();
float horizontalMargin = view.getContext().getResources().getDimension(R.dimen.activity_horizontal_margin);
float topMargin = isTopLevelComment
? view.getContext().getResources().getDimension(R.dimen.activity_vertical_margin) : 0;
layoutParams.setMargins((int) horizontalMargin, (int) topMargin, (int) horizontalMargin, 0);
view.setLayoutParams(layoutParams);
}
}
ImgLoadUtil.java 文件源码
项目:GitHub
阅读 29
收藏 0
点赞 0
评论 0
/**
* 电影详情页显示电影图片(等待被替换)(测试的还在,已可以弃用)
* 没有加载中的图
*/
@BindingAdapter("android:showImg")
public static void showImg(ImageView imageView, String url) {
Glide.with(imageView.getContext())
.load(url)
.crossFade(500)
.error(getDefaultPic(0))
.into(imageView);
}
BaseModel.java 文件源码
项目:liveomvp
阅读 42
收藏 0
点赞 0
评论 0
@BindingAdapter("imageLoadRounded")
public static void setImageLoadRounded(final ImageView imageView, String urlImage){
if (!TextUtils.isEmpty(urlImage)) {
Glide.with(imageView.getContext()).load(urlImage).asBitmap().centerCrop().into(new BitmapImageViewTarget(imageView) {
@Override
protected void setResource(Bitmap resource) {
RoundedBitmapDrawable circularBitmapDrawable =
RoundedBitmapDrawableFactory.create(imageView.getContext().getResources(), resource);
circularBitmapDrawable.setCircular(true);
imageView.setImageDrawable(circularBitmapDrawable);
}
});
}
}
BindingUtils.java 文件源码
项目:GitHub
阅读 42
收藏 0
点赞 0
评论 0
@BindingAdapter({"imageUrl"})
public static void loadImg(ImageView v, String url) {
v.setColorFilter(v.getContext().getResources().getColor(SpUtil.isNight() ? R.color.CoverColor : R.color.colorWhite), PorterDuff.Mode.MULTIPLY);
Glide.with(v.getContext())
.load(getFuckUrl(url))
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(v);
}
BindingAdapters.java 文件源码
项目:ForgetAdapters
阅读 36
收藏 0
点赞 0
评论 0
@BindingAdapter(value = {"items", "viewProvider"}, requireAll = true)
public static <TModel, TView extends View & IDataViewModelProvider<TModel>> void setItems(RecyclerView recyclerView, ObservableArrayList<TModel> items, RecyclerViewProvider<TModel, TView> viewProvider) {
if (recyclerView.getAdapter() != null &&
recyclerView.getAdapter() instanceof RecyclerViewListAdapter &&
((RecyclerViewListAdapter)recyclerView.getAdapter()).getList() == items)
return;
RecyclerViewListAdapter<TModel, TView> adapter = new RecyclerViewListAdapter<>(items, viewProvider);
recyclerView.setAdapter(adapter);
}
BindingUtils.java 文件源码
项目:GitHub
阅读 41
收藏 0
点赞 0
评论 0
@BindingAdapter({"article"})
public static void setArticle(TextView tv, String url) {
if (TextUtils.isEmpty(url)) return;
String article = url.replace("<br>", "\n").replaceAll(" ", "").replaceAll("//", "");
if (!TextUtils.isEmpty(article) && article.indexOf(">") > 0) {
article = article.substring(article.indexOf(">") + 4, article.length());
}
tv.setText(article);
}
BindingUtils.java 文件源码
项目:GitHub
阅读 34
收藏 0
点赞 0
评论 0
@BindingAdapter({"imageUrl"})
public static void loadImg(ImageView v, String url) {
v.setColorFilter(v.getContext().getResources().getColor(SpUtil.isNight() ? R.color.CoverColor : R.color.colorWhite), PorterDuff.Mode.MULTIPLY);
Glide.with(v.getContext())
.load(getFuckUrl(url))
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(v);
}
ImageViewBindingAdapter.java 文件源码
项目:BaseCore
阅读 26
收藏 0
点赞 0
评论 0
@BindingAdapter(value = {"imageUrl", "placeHolder", "error"}, requireAll = false)
/**
* 不支持mipmap下的图片
*/
public static void loadImage(ImageView imageView, String url, Drawable holderDrawable, Drawable errorDrawable) {
Glide.with(imageView.getContext())
.load(url)
.apply(GlideRequestOption.getRequestOptions().placeholder(holderDrawable)
.error(errorDrawable))
.into(imageView);
}
AtomListView.java 文件源码
项目:ui-atoms-android
阅读 35
收藏 0
点赞 0
评论 0
@BindingAdapter("selectedItems")
public static <T> void setSelectedItems(
AtomListView view,
@Nullable ObservableList<T> list){
if(view.getSelectedItems() == list)
return;
view.setSelectedItems(list);
}
BindingUtils.java 文件源码
项目:GitHub
阅读 36
收藏 0
点赞 0
评论 0
@BindingAdapter({"article"})
public static void setArticle(TextView tv, String url) {
if (TextUtils.isEmpty(url)) return;
String article = url.replace("<br>", "\n").replaceAll(" ", "").replaceAll("//", "");
if (!TextUtils.isEmpty(article) && article.indexOf(">") > 0) {
article = article.substring(article.indexOf(">") + 4, article.length());
}
tv.setText(article);
}
BindingAdapters.java 文件源码
项目:Mvvm
阅读 36
收藏 0
点赞 0
评论 0
@SuppressWarnings("unchecked")
@BindingAdapter(value = {"bindingItem", "items", "adapter", "itemIds", "viewHolder"}, requireAll = false)
public static <T> void setAdapter(RecyclerView recyclerView,
BindingItem<T> bindingItem,
List<T> items,
MvvmAdapter<T> adapter,
MvvmAdapter.ItemIds<? super T> itemIds,
MvvmAdapter.ViewHolderFactory viewHolderFactory) {
if (bindingItem == null) {
throw new IllegalArgumentException("bindingItem must not be null");
}
MvvmAdapter oldAdapter = (MvvmAdapter) recyclerView.getAdapter();
if (adapter == null) {
if (oldAdapter == null) {
adapter = new MvvmAdapter<>();
} else {
adapter = oldAdapter;
}
}
adapter.setBindingItem(bindingItem);
adapter.setItems(items);
adapter.setItemIds(itemIds);
adapter.setViewHolderFactory(viewHolderFactory);
if (oldAdapter != adapter) {
recyclerView.setAdapter(adapter);
}
}
ListBindingAdapter.java 文件源码
项目:PhotoExample
阅读 35
收藏 0
点赞 0
评论 0
@BindingAdapter(value = "resource")
public static void setResource(RecyclerView recyclerView, Resource resource){
RecyclerView.Adapter adapter = recyclerView.getAdapter();
if(adapter == null)
return;
if(resource == null || resource.data == null)
return;
if(adapter instanceof BaseAdapter){
((BaseAdapter)adapter).setData((List) resource.data);
}
}
RegexBindings.java 文件源码
项目:data-binding-validator
阅读 27
收藏 0
点赞 0
评论 0
@BindingAdapter(value = {"validateRegex", "validateRegexMessage", "validateRegexAutoDismiss"}, requireAll = false)
public static void bindingRegex(TextView view, String pattern, String errorMessage, boolean autoDismiss) {
if (autoDismiss) {
EditTextHandler.disableErrorOnChanged(view);
}
String handledErrorMessage = ErrorMessageHelper.getStringOrDefault(view,
errorMessage, R.string.error_message_regex_validation);
ViewTagHelper.appendValue(R.id.validator_rule, view, new RegexRule(view, pattern, handledErrorMessage));
}
PasswordBindings.java 文件源码
项目:data-binding-validator
阅读 36
收藏 0
点赞 0
评论 0
@BindingAdapter(value = {"validatePassword", "validatePasswordMessage", "validatePasswordAutoDismiss"}, requireAll = false)
public static void bindingPassword(TextView view, TextView comparableView, String errorMessage, boolean autoDismiss) {
if (autoDismiss) {
EditTextHandler.disableErrorOnChanged(view);
}
String handledErrorMessage = ErrorMessageHelper.getStringOrDefault(view,
errorMessage, R.string.error_message_not_equal_password);
ViewTagHelper.appendValue(R.id.validator_rule, view,
new ConfirmPasswordRule(view, comparableView, handledErrorMessage));
}
DatabindingUtils.java 文件源码
项目:DataBindingDemos
阅读 21
收藏 0
点赞 0
评论 0
@BindingAdapter({"app:imageUrl", "app:placeholder"})
public static void loadImage(final ImageView view, final String url, final Drawable placeholder) {
Picasso.with(view.getContext())
.load(url)
.placeholder(placeholder)
.into(view);
}
BindingAdapters.java 文件源码
项目:Mvvm
阅读 32
收藏 0
点赞 0
评论 0
@BindingAdapter("android:src")
public static void setSrc(ImageView view, Bitmap bitmap) {
view.setImageBitmap(bitmap);
}