51 lines
1.4 KiB
Java
51 lines
1.4 KiB
Java
package com.android.pump.widget;
|
|
|
|
import android.content.Context;
|
|
import android.graphics.drawable.Drawable;
|
|
import android.util.AttributeSet;
|
|
|
|
import androidx.annotation.AttrRes;
|
|
import androidx.annotation.DrawableRes;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.annotation.UiThread;
|
|
import androidx.appcompat.widget.AppCompatImageView;
|
|
import androidx.core.content.ContextCompat;
|
|
|
|
import com.android.pump.R;
|
|
|
|
@UiThread
|
|
public class PlaceholderImageView extends AppCompatImageView {
|
|
private static final @DrawableRes int PLACEHOLDER_DRAWABLE = R.drawable.ic_placeholder;
|
|
|
|
public PlaceholderImageView(@NonNull Context context) {
|
|
super(context);
|
|
initialize();
|
|
}
|
|
|
|
public PlaceholderImageView(@NonNull Context context, @Nullable AttributeSet attrs) {
|
|
super(context, attrs);
|
|
initialize();
|
|
}
|
|
|
|
public PlaceholderImageView(@NonNull Context context, @Nullable AttributeSet attrs,
|
|
@AttrRes int defStyleAttr) {
|
|
super(context, attrs, defStyleAttr);
|
|
initialize();
|
|
}
|
|
|
|
@Override
|
|
public void setImageDrawable(@Nullable Drawable drawable) {
|
|
if (drawable == null) {
|
|
drawable = ContextCompat.getDrawable(getContext(), PLACEHOLDER_DRAWABLE);
|
|
}
|
|
super.setImageDrawable(drawable);
|
|
}
|
|
|
|
private void initialize() {
|
|
if (getDrawable() == null) {
|
|
setImageDrawable(null);
|
|
}
|
|
}
|
|
}
|