2013-06-14 2 views
0

J'ai une activité qui montre l'aperçu de la caméra, et un ImageView de la dernière image prise.Redimensionner la hauteur d'ImageView avec le doigt

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

<ImageView 
     android:id="@+id/stitch_preview" 
     android:layout_width="fill_parent" 
     android:layout_height="128dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:scaleType="center" 
     android:visibility="gone"/> 

<SurfaceView 
     android:id="@+id/camera_preview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_below="@+id/stitch_preview"/> 

En ce moment, le ImageView est fixé à hauteur 128dp. Il est difficile de redimensionner cette vue en faisant glisser votre doigt vers le bas sur l'ImageView.

Je cherchais divers indices, mais tout ce que je trouve concerne une vue cachée. Je n'arrive pas à trouver un exemple de redimensionnement d'une vue déjà visible.

Tutorial for doing a pull-down "view" in android?

How to resize a custom view programmatically?

Répondre

1

En supposant que votre ImageView est visible, Les étapes suivantes peuvent aider vous-

1) Pincez-Vroum votre ImageView ou effectivement redimensionner votre imageview à l'aide LayoutParams à l'aide de multitouch (Vous peut redimensionner Imageview selon votre limite standard).

2) Prenez la capture de votre imageview en utilisant le code suivant

ImageView iv=(ImageView)findViewbyId(R.id.ImageView1) 

....

iv.setDrawingCacheEnabled(true); 
       // Set the layout manually to after resizing or pinch zoom 
       iv.layout(0, 0, x, y); 
       // Set the quality to high 
       iv.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH); 
       // Build the cache, get the bitmap and close the cache 
       iv.buildDrawingCache(true); 
       Bitmap bmBarChart = gv.toBitmap(); 

le code ci-dessus vous renvoie l'image bitmap redimensionnée.

3) Sauvegardez cette image et mettre à votre ImageView

je l'ai déjà redimensionné la vue visible avant, mais j'avais besoin légèrement différente de celle que vous

Questions connexes