本日學習:

1. 透過呼叫 Android 內建相機功能拍照
2. 自訂 Gallery to review Photo

參考資料:
http://developer.android.com/reference/android/provider/MediaStore.html 


一、自訂照片 存放路徑 與 檔案名稱:

mPhotoPath = Environment.getExternalStorageDirectory() + "/myPhoto/"
mPhotoName = "123.jpg";

ContentValues values = new ContentValues();
values.put(Images.Media.DATA, mPhotoPath + mPhotoName); //指定檔案路徑名稱
values.put(Images.Media.TITLE, mPhotoName);         //指定檔案名稱
values.put(Images.Media.DISPLAY_NAME, mPhotoName);    //指定檔案顯示名稱
values.put(Images.Media.MIME_TYPE, "image/jpeg");      //指定檔案格式

Uri photoUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

Intent CameraIntent = new Intent("android.media.action.IMAGE_CAPTURE");
CameraIntent.putExtra("return-data", true);
CameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);

startActivityForResult(CameraIntent, 0);


缺點是 DCIM 資料夾裡也會存一張系統產生的照片 ...  



二、自訂 Gallery 僅滑動單張照片:

public class myGallery extends Gallery {

public myGallery(Context context, AttributeSet attrs) {
super(context, attrs);
}

@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
setAnimationDuration(600);
return super.onScroll(e1, e2, distanceX, distanceY);
}

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {

float velMax = 2500f;
float velMin = 1000f;
float velX = Math.abs(velocityX);
if (velX > velMax) {
velX = velMax;
} else if (velX < velMin) {
velX = velMin;
}
velX -= 600;
int k = 500000;
int speed = (int) Math.floor(1f / velX * k);
setAnimationDuration(speed);

int kEvent;
if (isScrollingLeft(e1, e2)) {

kEvent = KeyEvent.KEYCODE_DPAD_LEFT;
} else {
kEvent = KeyEvent.KEYCODE_DPAD_RIGHT;
}
onKeyDown(kEvent, null);

return true;
}

private boolean isScrollingLeft(MotionEvent e1, MotionEvent e2){
return e2.getX() > e1.getX();
}
}

 
xml file:
<com.mynamespace.myGallery
android:id="@+id/Gallery01"
....
/> 

arrow
arrow
    文章標籤
    androids camera gallery
    全站熱搜
    創作者介紹
    創作者 瘋狂螞蟻 的頭像
    瘋狂螞蟻

    螞蟻輕旅行

    瘋狂螞蟻 發表在 痞客邦 留言(0) 人氣()