android.widget.ImageView#requestLayout ( )源码实例Demo

下面列出了android.widget.ImageView#requestLayout ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: aptoide-client-v8   文件: BadgeDialogFactory.java
private void setupMedal(ImageView badge, boolean isBadgeSelected, int badgeColor,
    Resources resources) {
  if (isBadgeSelected) {
    badge.getLayoutParams().width = selectedMedalSize;
    badge.getLayoutParams().height = selectedMedalSize;
    badge.setScaleType(ImageView.ScaleType.FIT_XY);
    badge.requestLayout();
  } else {
    badge.getLayoutParams().width = normalMedalSize;
    badge.getLayoutParams().height = normalMedalSize;
    badge.setScaleType(ImageView.ScaleType.FIT_XY);
    badge.requestLayout();
  }
  Drawable drawable = badge.getDrawable();
  setDrawableColor(resources, badgeColor, drawable);
  badge.setImageDrawable(drawable);
  setBackground(badge, resources.getColor(R.color.white));
}
 
源代码2 项目: VideoOS-Android-SDK   文件: ImageUtil.java
/**
 * 调整图片的frame
 *
 * @param imageView
 */
public static void adjustSize(ImageView imageView) {
    if (imageView != null && imageView.getLayoutParams() != null && imageView.getDrawable() != null) {
         int width = (imageView.getDrawable()).getIntrinsicWidth();
         int height = (imageView.getDrawable()).getIntrinsicHeight();
        if (width != imageView.getLayoutParams().width || height != imageView.getLayoutParams().height) {
            imageView.getLayoutParams().width = width;
            imageView.getLayoutParams().height = height;
            imageView.requestLayout();
        }
    }
}
 
源代码3 项目: appinventor-extensions   文件: ViewUtil.java
/**
 * Sets the image for an ImageView.
 */
public static void setImage(ImageView view, Drawable drawable) {
  view.setImageDrawable(drawable);
  if (drawable != null) {
    view.setAdjustViewBounds(true);
  }
  view.requestLayout();
}
 
源代码4 项目: LiveSourceCode   文件: AlbumPreviewAdapter.java
public PreviewViewHolder(View itemView, int size) {
    super(itemView);

    imageView = (ImageView) itemView.findViewById(R.id.image_view);
    imageView.getLayoutParams().width = size;
    imageView.getLayoutParams().height = size;
    imageView.requestLayout();
}
 
源代码5 项目: AndroidSchool   文件: MovieHolder.java
@NonNull
public static MovieHolder create(@NonNull Context context, int imageHeight, int imageWidth) {
    View view = View.inflate(context, R.layout.image_item, null);
    ImageView imageView = (ImageView) view.findViewById(R.id.image);
    ViewGroup.LayoutParams layoutParams = imageView.getLayoutParams();
    layoutParams.height = imageHeight;
    layoutParams.width = imageWidth;
    imageView.requestLayout();
    return new MovieHolder(view);
}
 
源代码6 项目: AndroidSchool   文件: MoviesAdapter.java
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = View.inflate(parent.getContext(), R.layout.image_item, null);
    ImageView imageView = (ImageView) view.findViewById(R.id.image);
    ViewGroup.LayoutParams layoutParams = imageView.getLayoutParams();
    layoutParams.height = mImageHeight;
    layoutParams.width = mImageWidth;
    imageView.requestLayout();
    return new ViewHolder(view);
}
 
源代码7 项目: AndroidSchool   文件: MovieHolder.java
@NonNull
public static MovieHolder create(@NonNull Context context, int imageHeight, int imageWidth) {
    View view = View.inflate(context, R.layout.image_item, null);
    ImageView imageView = (ImageView) view.findViewById(R.id.image);
    ViewGroup.LayoutParams layoutParams = imageView.getLayoutParams();
    layoutParams.height = imageHeight;
    layoutParams.width = imageWidth;
    imageView.requestLayout();
    return new MovieHolder(view);
}
 
源代码8 项目: AndroidSchool   文件: MovieHolder.java
@NonNull
public static MovieHolder create(@NonNull Context context, int imageHeight, int imageWidth) {
    View view = View.inflate(context, R.layout.image_item, null);
    ImageView imageView = (ImageView) view.findViewById(R.id.image);
    ViewGroup.LayoutParams layoutParams = imageView.getLayoutParams();
    layoutParams.height = imageHeight;
    layoutParams.width = imageWidth;
    imageView.requestLayout();
    return new MovieHolder(view);
}
 
源代码9 项目: MovieGuide   文件: MovieDetailsFragment.java
@Override
public void showTrailers(List<Video> trailers) {
    if (trailers.isEmpty()) {
        label.setVisibility(View.GONE);
        this.trailers.setVisibility(View.GONE);
        horizontalScrollView.setVisibility(View.GONE);

    } else {
        label.setVisibility(View.VISIBLE);
        this.trailers.setVisibility(View.VISIBLE);
        horizontalScrollView.setVisibility(View.VISIBLE);

        this.trailers.removeAllViews();
        LayoutInflater inflater = getActivity().getLayoutInflater();
        RequestOptions options = new RequestOptions()
                .placeholder(R.color.colorPrimary)
                .centerCrop()
                .override(150, 150);

        for (Video trailer : trailers) {
            View thumbContainer = inflater.inflate(R.layout.video, this.trailers, false);
            ImageView thumbView = thumbContainer.findViewById(R.id.video_thumb);
            thumbView.setTag(R.id.glide_tag, Video.getUrl(trailer));
            thumbView.requestLayout();
            thumbView.setOnClickListener(this);
            Glide.with(requireContext())
                    .load(Video.getThumbnailUrl(trailer))
                    .apply(options)
                    .into(thumbView);
            this.trailers.addView(thumbContainer);
        }
    }
}
 
源代码10 项目: a   文件: TabLayout.java
private void updateTextAndIcon(@Nullable final TextView textView,
                               @Nullable final ImageView iconView) {
    final Drawable icon = mTab != null ? mTab.getIcon() : null;
    final CharSequence text = mTab != null ? mTab.getText() : null;
    final CharSequence contentDesc = mTab != null ? mTab.getContentDescription() : null;

    if (iconView != null) {
        if (icon != null) {
            iconView.setImageDrawable(icon);
            iconView.setVisibility(VISIBLE);
            setVisibility(VISIBLE);
        } else {
            iconView.setVisibility(GONE);
            iconView.setImageDrawable(null);
        }
        iconView.setContentDescription(contentDesc);
    }

    final boolean hasText = !TextUtils.isEmpty(text);
    if (textView != null) {
        if (hasText) {
            textView.setText(text);
            textView.setVisibility(VISIBLE);
            setVisibility(VISIBLE);
        } else {
            textView.setVisibility(GONE);
            textView.setText(null);
        }
        textView.setContentDescription(contentDesc);
    }

    if (iconView != null) {
        MarginLayoutParams lp = ((MarginLayoutParams) iconView.getLayoutParams());
        int bottomMargin = 0;
        if (hasText && iconView.getVisibility() == VISIBLE) {
            // If we're showing both text and icon, add some margin bottom to the icon
            bottomMargin = dpToPx(DEFAULT_GAP_TEXT_ICON);
        }
        if (bottomMargin != lp.bottomMargin) {
            lp.bottomMargin = bottomMargin;
            iconView.requestLayout();
        }
    }
    TooltipCompat.setTooltipText(this, hasText ? null : contentDesc);
}
 
源代码11 项目: YiZhi   文件: PlatformPageAdapter.java
private void refreshPanel(LinearLayout[] llCells, Object[] logos) {
	int cellBack = ResHelper.getBitmapRes(page.getContext(), "ssdk_oks_classic_platform_cell_back");
	int disableBack = ResHelper.getBitmapRes(page.getContext(), "ssdk_oks_classic_platfrom_cell_back_nor");
	for (int i = 0; i < logos.length; i++) {
		ImageView ivLogo = ResHelper.forceCast(llCells[i].getChildAt(0));
		TextView tvName = ResHelper.forceCast(llCells[i].getChildAt(1));
		if (logos[i] == null) {
			ivLogo.setVisibility(View.INVISIBLE);
			tvName.setVisibility(View.INVISIBLE);
			llCells[i].setBackgroundResource(disableBack);
			llCells[i].setOnClickListener(null);
		} else {
			ivLogo.setVisibility(View.VISIBLE);
			tvName.setVisibility(View.VISIBLE);
			ivLogo.requestLayout();
			tvName.requestLayout();
			llCells[i].setBackgroundResource(cellBack);
			llCells[i].setOnClickListener(this);
			llCells[i].setTag(logos[i]);

			if (logos[i] instanceof CustomerLogo) {
				CustomerLogo logo = ResHelper.forceCast(logos[i]);
				if (logo.logo != null) {
					ivLogo.setImageBitmap(logo.logo);
				} else {
					ivLogo.setImageBitmap(null);
				}
				if (logo.label != null) {
					tvName.setText(logo.label);
				} else {
					tvName.setText("");
				}
			} else {
				Platform plat = ResHelper.forceCast(logos[i]);
				String name = plat.getName().toLowerCase();
				int resId = ResHelper.getBitmapRes(ivLogo.getContext(),"ssdk_oks_classic_" + name);
				if (resId > 0) {
					ivLogo.setImageResource(resId);
				} else {
					ivLogo.setImageBitmap(null);
				}
				resId = ResHelper.getStringRes(tvName.getContext(), "ssdk_" + name);
				if (resId > 0) {
					tvName.setText(resId);
				} else {
					tvName.setText("");
				}
			}
		}
	}
}
 
源代码12 项目: enjoyshop   文件: PlatformPageAdapter.java
private void refreshPanel(LinearLayout[] llCells, Object[] logos) {
	int cellBack = ResHelper.getBitmapRes(page.getContext(), "ssdk_oks_classic_platform_cell_back");
	int disableBack = ResHelper.getBitmapRes(page.getContext(), "ssdk_oks_classic_platfrom_cell_back_nor");
	for (int i = 0; i < logos.length; i++) {
		ImageView ivLogo = ResHelper.forceCast(llCells[i].getChildAt(0));
		TextView tvName = ResHelper.forceCast(llCells[i].getChildAt(1));
		if (logos[i] == null) {
			ivLogo.setVisibility(View.INVISIBLE);
			tvName.setVisibility(View.INVISIBLE);
			llCells[i].setBackgroundResource(disableBack);
			llCells[i].setOnClickListener(null);
		} else {
			ivLogo.setVisibility(View.VISIBLE);
			tvName.setVisibility(View.VISIBLE);
			ivLogo.requestLayout();
			tvName.requestLayout();
			llCells[i].setBackgroundResource(cellBack);
			llCells[i].setOnClickListener(this);
			llCells[i].setTag(logos[i]);

			if (logos[i] instanceof CustomerLogo) {
				CustomerLogo logo = ResHelper.forceCast(logos[i]);
				if (logo.logo != null) {
					ivLogo.setImageBitmap(logo.logo);
				} else {
					ivLogo.setImageBitmap(null);
				}
				if (logo.label != null) {
					tvName.setText(logo.label);
				} else {
					tvName.setText("");
				}
			} else {
				Platform plat = ResHelper.forceCast(logos[i]);
				String name = plat.getName().toLowerCase();
				int resId = ResHelper.getBitmapRes(ivLogo.getContext(),"ssdk_oks_classic_" + name);
				if (resId > 0) {
					ivLogo.setImageResource(resId);
				} else {
					ivLogo.setImageBitmap(null);
				}
				resId = ResHelper.getStringRes(tvName.getContext(), "ssdk_" + name);
				if (resId > 0) {
					tvName.setText(resId);
				} else {
					tvName.setText("");
				}
			}
		}
	}
}
 
源代码13 项目: dynamic-toasts   文件: DynamicHint.java
/**
 * Make a themed toast with text, icon, background and the tint color.
 *
 * @param context The context to use.
 * @param text The text to show. Can be formatted text.
 * @param icon The toast icon to show.
 * @param tintColor The toast tint color based on the toast background.
 *                  <p>It will automatically check for the contrast to provide best visibility.
 * @param backgroundColor The toast background color.
 * @param duration The duration for the toast, either {@link Toast#LENGTH_SHORT}
 *                 or {@link Toast#LENGTH_LONG}.
 *
 * @return The toast with the supplied parameters.
 *         <p>Use {@link Toast#show()} to display the toast.
 */
public static @NonNull Toast make(@NonNull Context context, @Nullable CharSequence text,
        @Nullable Drawable icon, @ColorInt int tintColor, @ColorInt int backgroundColor,
        int duration) {
    if (context instanceof Activity && ((Activity) context).isFinishing()) {
        context = context.getApplicationContext();
    }

    tintColor = DynamicColorUtils.getContrastColor(tintColor, backgroundColor);

    ToastCompat toast = new ToastCompat(context, new Toast(context));
    View toastLayout = LayoutInflater.from(context).inflate(
            R.layout.adt_layout_hint, new LinearLayout(context), false);
    ImageView toastIcon = toastLayout.findViewById(R.id.adt_hint_icon);
    TextView toastText = toastLayout.findViewById(R.id.adt_hint_text);

    if (icon != null && !disableIcon) {
        if (iconSize != ADT_DEFAULT_ICON_SIZE) {
            toastIcon.getLayoutParams().width = iconSize;
            toastIcon.getLayoutParams().height = iconSize;
            toastIcon.requestLayout();
        }
        toastIcon.setColorFilter(tintColor);
        toastIcon.setImageDrawable(icon);
    } else {
        toastIcon.setVisibility(View.GONE);
    }

    if (textTypeface != null) {
        toastText.setTypeface(textTypeface);
    }
    if (textSize != ADT_DEFAULT_TEXT_SIZE) {
        toastText.setTextSize(TypedValue.COMPLEX_UNIT_SP, textSize);
    }
    toastText.setTextColor(tintColor);
    toastText.setText(text);

    if (toastBackground != null) {
        DynamicDrawableUtils.setBackground(toastLayout,
                DynamicDrawableUtils.colorizeDrawable(toastBackground,
                        backgroundColor, PorterDuff.Mode.MULTIPLY));
    } else {
        DynamicDrawableUtils.setBackground(toastLayout,
                DynamicDrawableUtils.colorizeDrawable(
                        ContextCompat.getDrawable(context, R.drawable.adt_hint_background),
                        backgroundColor, PorterDuff.Mode.MULTIPLY));
    }

    toast.setDuration(duration);
    toast.setView(toastLayout);

    return toast;
}
 
源代码14 项目: dynamic-toasts   文件: DynamicToast.java
/**
 * Make a themed toast with text, icon, background and the tint color.
 *
 * @param context The context to use.
 * @param text The text to show. Can be formatted text.
 * @param icon The toast icon to show.
 * @param tintColor The toast tint color based on the toast background.
 *                  <p>It will automatically check for the contrast to provide best visibility.
 * @param backgroundColor The toast background color.
 * @param duration The duration for the toast, either {@link Toast#LENGTH_SHORT}
 *                 or {@link Toast#LENGTH_LONG}.
 *
 * @return The toast with the supplied parameters.
 *         <p>Use {@link Toast#show()} to display the toast.
 */
public static @NonNull Toast make(@NonNull Context context, @Nullable CharSequence text,
        @Nullable Drawable icon, @ColorInt int tintColor, @ColorInt int backgroundColor,
        int duration) {
    if (context instanceof Activity && ((Activity) context).isFinishing()) {
        context = context.getApplicationContext();
    }

    tintColor = DynamicColorUtils.getContrastColor(tintColor, backgroundColor);

    ToastCompat toast = new ToastCompat(context, new Toast(context));
    View toastLayout = LayoutInflater.from(context).inflate(
            R.layout.adt_layout_toast, new LinearLayout(context), false);
    ImageView toastIcon = toastLayout.findViewById(R.id.adt_toast_icon);
    TextView toastText = toastLayout.findViewById(R.id.adt_toast_text);

    if (icon != null && !disableIcon) {
        if (iconSize != ADT_DEFAULT_ICON_SIZE) {
            toastIcon.getLayoutParams().width = iconSize;
            toastIcon.getLayoutParams().height = iconSize;
            toastIcon.requestLayout();
        }
        toastIcon.setColorFilter(tintColor);
        toastIcon.setImageDrawable(icon);
    } else {
        toastIcon.setVisibility(View.GONE);
    }

    if (textTypeface != null) {
        toastText.setTypeface(textTypeface);
    }
    if (textSize != ADT_DEFAULT_TEXT_SIZE) {
        toastText.setTextSize(TypedValue.COMPLEX_UNIT_SP, textSize);
    }
    toastText.setTextColor(tintColor);
    toastText.setText(text);

    if (toastBackground != null) {
        DynamicDrawableUtils.setBackground(toastLayout,
                DynamicDrawableUtils.colorizeDrawable(toastBackground,
                        backgroundColor, PorterDuff.Mode.MULTIPLY));
    } else {
        DynamicDrawableUtils.setBackground(toastLayout,
                DynamicDrawableUtils.colorizeDrawable(
                        ContextCompat.getDrawable(context, R.drawable.adt_toast_background),
                        backgroundColor, PorterDuff.Mode.MULTIPLY));
    }

    toast.setDuration(duration);
    toast.setView(toastLayout);

    return toast;
}
 
源代码15 项目: LQRWeChat   文件: PlatformPageAdapter.java
private void refreshPanel(LinearLayout[] llCells, Object[] logos) {
	int cellBack = ResHelper.getBitmapRes(page.getContext(), "ssdk_oks_classic_platform_cell_back");
	int disableBack = ResHelper.getBitmapRes(page.getContext(), "ssdk_oks_classic_platfrom_cell_back_nor");
	for (int i = 0; i < logos.length; i++) {
		ImageView ivLogo = ResHelper.forceCast(llCells[i].getChildAt(0));
		TextView tvName = ResHelper.forceCast(llCells[i].getChildAt(1));
		if (logos[i] == null) {
			ivLogo.setVisibility(View.INVISIBLE);
			tvName.setVisibility(View.INVISIBLE);
			llCells[i].setBackgroundResource(disableBack);
			llCells[i].setOnClickListener(null);
		} else {
			ivLogo.setVisibility(View.VISIBLE);
			tvName.setVisibility(View.VISIBLE);
			ivLogo.requestLayout();
			tvName.requestLayout();
			llCells[i].setBackgroundResource(cellBack);
			llCells[i].setOnClickListener(this);
			llCells[i].setTag(logos[i]);

			if (logos[i] instanceof CustomerLogo) {
				CustomerLogo logo = ResHelper.forceCast(logos[i]);
				if (logo.logo != null) {
					ivLogo.setImageBitmap(logo.logo);
				} else {
					ivLogo.setImageBitmap(null);
				}
				if (logo.label != null) {
					tvName.setText(logo.label);
				} else {
					tvName.setText("");
				}
			} else {
				Platform plat = ResHelper.forceCast(logos[i]);
				String name = plat.getName().toLowerCase();
				int resId = ResHelper.getBitmapRes(ivLogo.getContext(),"ssdk_oks_classic_" + name);
				if (resId > 0) {
					ivLogo.setImageResource(resId);
				} else {
					ivLogo.setImageBitmap(null);
				}
				resId = ResHelper.getStringRes(tvName.getContext(), "ssdk_" + name);
				if (resId > 0) {
					tvName.setText(resId);
				} else {
					tvName.setText("");
				}
			}
		}
	}
}
 
源代码16 项目: material-components-android   文件: TabLayout.java
private void updateTextAndIcon(
    @Nullable final TextView textView, @Nullable final ImageView iconView) {
  final Drawable icon =
      (tab != null && tab.getIcon() != null)
          ? DrawableCompat.wrap(tab.getIcon()).mutate()
          : null;
  final CharSequence text = tab != null ? tab.getText() : null;

  if (iconView != null) {
    if (icon != null) {
      iconView.setImageDrawable(icon);
      iconView.setVisibility(VISIBLE);
      setVisibility(VISIBLE);
    } else {
      iconView.setVisibility(GONE);
      iconView.setImageDrawable(null);
    }
  }

  final boolean hasText = !TextUtils.isEmpty(text);
  if (textView != null) {
    if (hasText) {
      textView.setText(text);
      if (tab.labelVisibilityMode == TAB_LABEL_VISIBILITY_LABELED) {
        textView.setVisibility(VISIBLE);
      } else {
        textView.setVisibility(GONE);
      }
      setVisibility(VISIBLE);
    } else {
      textView.setVisibility(GONE);
      textView.setText(null);
    }
  }

  if (iconView != null) {
    MarginLayoutParams lp = ((MarginLayoutParams) iconView.getLayoutParams());
    int iconMargin = 0;
    if (hasText && iconView.getVisibility() == VISIBLE) {
      // If we're showing both text and icon, add some margin bottom to the icon
      iconMargin = (int) ViewUtils.dpToPx(getContext(), DEFAULT_GAP_TEXT_ICON);
    }
    if (inlineLabel) {
      if (iconMargin != MarginLayoutParamsCompat.getMarginEnd(lp)) {
        MarginLayoutParamsCompat.setMarginEnd(lp, iconMargin);
        lp.bottomMargin = 0;
        // Calls resolveLayoutParams(), necessary for layout direction
        iconView.setLayoutParams(lp);
        iconView.requestLayout();
      }
    } else {
      if (iconMargin != lp.bottomMargin) {
        lp.bottomMargin = iconMargin;
        MarginLayoutParamsCompat.setMarginEnd(lp, 0);
        // Calls resolveLayoutParams(), necessary for layout direction
        iconView.setLayoutParams(lp);
        iconView.requestLayout();
      }
    }
  }

  final CharSequence contentDesc = tab != null ? tab.contentDesc : null;
  TooltipCompat.setTooltipText(this, hasText ? null : contentDesc);
}