對於我正在建設的Android應用程序,我做了一個自定義的ImageView類,需要顯示在圖像上打勾指示此圖像已被選中。 我從可繪製的資源中加載了刻度圖像並將其顯示在圖像頂部,並且它工作正常。但是我想要做的是,當可以看到刻度時(即選擇圖像時),圖像變暗,以便您可以清楚地看到刻度。 我該怎麼做?安卓系統 - 自定義ImageView與勾選標記圖像爲選擇
我的代碼當前如下:
public class TickedImageView extends ImageView {
private boolean selected = true;
private Bitmap tickBmp;
private Paint paint = new Paint();
public TickedImageView(Context context) {
super(context);
tickBmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_done_white_48dp);
}
public TickedImageView(Context context, AttributeSet attrs) {
super(context, attrs);
tickBmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_done_white_48dp);
}
public void setSelected(boolean selected) {
this.selected = selected;
invalidate();
}
public boolean isSelected() {
return selected;
}
@Override
protected void onDraw(@NonNull Canvas canvas) {
super.onDraw(canvas);
if(selected) {
int margin = 15;
int x = (canvas.getWidth()/2) - (tickBmp.getWidth()/2) - margin;
int y = (canvas.getHeight()/2) - (tickBmp.getHeight()/2) - margin;
canvas.drawBitmap(tickBmp, x, y, paint);
}
}
}
謝謝。
是的,但我從相機膠捲中獲取圖像。我想要做的是從相機滾動圖像變暗,以便我可以清楚地看到白色勾號 – fergaral
對不起...錯過了...讓我更新我的答案 –