Ich möchte den Eckenradius für die Bildansicht festlegen und den Radius auf der Suchleiste steuern. Wenn die Suchleiste fortschreitet, sollte der Eckenradius zunehmen und umgekehrt. Momentan wird der Eckenradius bei wachsender Suchleiste erhöht. Wenn der Suchbalken jedoch zurückbewegt wird, wird der Imageview nicht in den ursprünglichen Zustand versetzt.So stellen Sie den Eckenradius für die Bildansicht ein
cornerRadius.setMax(100);
cornerRadius.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
public void onStopTrackingTouch(SeekBar seekBar) {
}
public void onStartTrackingTouch(SeekBar seekBar) {
}
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
radius= progress;
for (int i = 0; i < IMGS.size(); i++) {
final PhotoView child = IMGS.get(i);
Bitmap viewCapture = null;
child.setDrawingCacheEnabled(true);
viewCapture = Bitmap.createBitmap(child.getDrawingCache());
child.setDrawingCacheEnabled(false);
child.setImageBitmap(getRoundedCornerBitmap(viewCapture,radius));
});
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float roundPx) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
Ich bekomme Eckenradius. aber auf seekbar möchte ich den Eckenradius der Bildansicht vergrößern und verkleinern. – user65
Sie können auf diese Variable in Ihrer Seek-Leiste zugreifen final float roundPx = 12; –
Ich greife darauf zu – user65