47 lines
1.7 KiB
Java
47 lines
1.7 KiB
Java
package androidx.core.widget;
|
|
|
|
import android.content.res.ColorStateList;
|
|
import android.graphics.PorterDuff;
|
|
import android.graphics.drawable.Drawable;
|
|
import android.os.Build;
|
|
import android.widget.ImageView;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
public class ImageViewCompat {
|
|
private ImageViewCompat() {
|
|
}
|
|
|
|
@Nullable
|
|
public static ColorStateList getImageTintList(@NonNull ImageView imageView) {
|
|
return imageView.getImageTintList();
|
|
}
|
|
|
|
@Nullable
|
|
public static PorterDuff.Mode getImageTintMode(@NonNull ImageView imageView) {
|
|
return imageView.getImageTintMode();
|
|
}
|
|
|
|
public static void setImageTintList(@NonNull ImageView imageView, @Nullable ColorStateList colorStateList) {
|
|
Drawable drawable;
|
|
int i = Build.VERSION.SDK_INT;
|
|
imageView.setImageTintList(colorStateList);
|
|
if (i == 21 && (drawable = imageView.getDrawable()) != null && imageView.getImageTintList() != null) {
|
|
if (drawable.isStateful()) {
|
|
drawable.setState(imageView.getDrawableState());
|
|
}
|
|
imageView.setImageDrawable(drawable);
|
|
}
|
|
}
|
|
|
|
public static void setImageTintMode(@NonNull ImageView imageView, @Nullable PorterDuff.Mode mode) {
|
|
Drawable drawable;
|
|
int i = Build.VERSION.SDK_INT;
|
|
imageView.setImageTintMode(mode);
|
|
if (i == 21 && (drawable = imageView.getDrawable()) != null && imageView.getImageTintList() != null) {
|
|
if (drawable.isStateful()) {
|
|
drawable.setState(imageView.getDrawableState());
|
|
}
|
|
imageView.setImageDrawable(drawable);
|
|
}
|
|
}
|
|
}
|