2012-03-25 3 views
2

Ich habe ein ImageView, das eine Bitmap anzeigt. In seiner onDraw-Methode verwende ich clipRect, um einige Pixel von der Unterseite abzuschneiden. Das funktioniert gut, aber die Höhe von ImageView wird nicht an die geänderte Arbeitsfläche angepasst und daher bleibt ein unerwünschter Speicherplatz. Wie kann ich davon befreit werden?Wie entferne ich Raum von ImageView, nachdem ich die Leinwand abgeschnitten habe?

Ich habe versucht, die Höhe des Elternteils entsprechend zu reduzieren und seine clipChildren auf false zu setzen, aber es verursachte einige Probleme.

@Override 
protected void onDraw(Canvas canvas) 
{ 
    Path clipPath = new Path(); 

    clipPath.addRoundRect(
     new RectF(0, 0, width, height - (int) (watermarkHeight * scale)), 
     cornerRadius, 
     cornerRadius, 
     Path.Direction.CW); 

    clipPath.addRect(0, 0, width, cornerRadius, Path.Direction.CW); 

    canvas.clipPath(clipPath); 

    super.onDraw(canvas); 
} 

Antwort

0

Verwendung "Adjust Ansicht Bounds" Eigentum Ihres Image

Verwandte Themen