2016-03-03 34 views
0

上午工作在android自定義相機應用程序應用程序正在工作,但我有一個問題,當我捕捉它保存的圖像,當我點擊保存的圖像它打開手機默認視圖,但我想擁有自定義圖像視圖中,我可以刷卡左,右刪除和分享怎麼可能如何使相機應用程序中的自定義圖像查看

enter code here 
    public void clickedGallery(View view) { 
    if (MyDebug.LOG) 
     Log.d(TAG, "clickedGallery"); 
    //Intent intent = new Intent(Intent.ACTION_VIEW, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
    Uri uri = null; 
    Media media = getLatestMedia(); 
    if (media != null) { 
     uri = media.uri; 
    } 

    if (uri != null) { 
     // check uri exists 
     if (MyDebug.LOG) 
      Log.d(TAG, "found most recent uri: " + uri); 
     try { 
      ContentResolver cr = getContentResolver(); 
      ParcelFileDescriptor pfd = cr.openFileDescriptor(uri, "r"); 
      if (pfd == null) { 
       if (MyDebug.LOG) 
        Log.d(TAG, "uri no longer exists (1): " + uri); 
       uri = null; 
      } 
      pfd.close(); 
     } catch (IOException e) { 
      if (MyDebug.LOG) 
       Log.d(TAG, "uri no longer exists (2): " + uri); 
      uri = null; 
     } 
    } 
    if (uri == null) { 
     uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; 
    } 
    if (!is_test) { 
     // don't do if testing, as unclear how to exit activity to finish test (for testGallery()) 
     if (MyDebug.LOG) 
      Log.d(TAG, "launch uri:" + uri); 
     final String REVIEW_ACTION = "com.android.camera.action.REVIEW"; 
     try { 
      // REVIEW_ACTION means we can view video files without autoplaying 
      Intent intent = new Intent(REVIEW_ACTION, uri); 
      this.startActivity(intent); 
     } catch (ActivityNotFoundException e) { 
      if (MyDebug.LOG) 
       Log.d(TAG, "REVIEW_ACTION intent didn't work, try ACTION_VIEW"); 
      Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
      // from http://stackoverflow.com/questions/11073832/no-activity-found-to-handle-intent - needed to fix crash if no gallery app installed 
      //Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("blah")); // test 
      if (intent.resolveActivity(getPackageManager()) != null) { 
       this.startActivity(intent); 
      } else { 
       preview.showToast(null, R.string.no_gallery_app); 
      } 
     } 
    } 
} 

回答

0
You can customize your image view add all functionality in the class like this i create a image view as a circle imageview. 


import android.content.Context; 
import android.graphics.Canvas; 
import android.graphics.Path; 
import android.graphics.RectF; 
import android.util.AttributeSet; 
import android.widget.ImageView; 

public class RoundedImageView extends ImageView { 

    public RoundedImageView(Context context) { 
     super(context); 

    } 

    public RoundedImageView(Context context, AttributeSet attrs) { 
     super(context, attrs); 

    } 

    public RoundedImageView(Context context, AttributeSet attrs, 
      int defStyle) { 

     super(context, attrs, defStyle); 
    } 

    @Override 
    protected void onDraw(Canvas canvas) { 
     float radius = 90.0f; // angle of round corners 
     Path clipPath = new Path(); 
     RectF rect = new RectF(0, 0, this.getWidth(), this.getHeight()); 
     clipPath.addRoundRect(rect, radius, radius, Path.Direction.CW); 
     canvas.clipPath(clipPath); 

     super.onDraw(canvas); 

    } 
} 
+0

這裏我使用這些類 –

+0

你仍然需要定製這個類根據你的需要 –

+0

這不是根據你的要求這是顯示如何創建自定義圖像視圖並使用包名創建的類名的基本類一個圖像視圖\ –

相關問題