所以我試圖創建一個應用程序,用戶可以按下按鈕以使用手機的相機拍攝圖像,然後按另一個按鈕將該圖像設置爲手機的壁紙。setWallpaper(bitmap)沒有設置全屏壁紙?
我開始與這個照相機意圖:(這是在一個onClick方法)
Intent i;
i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, cameraResults);
然後我實施此方法以從攝像頭接收圖像:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK){
Bundle extras = data.getExtras();
bmp = (Bitmap) extras.get("data");
imageView.setImageBitmap(bmp);
}
}
然後,在設置壁紙爲按鈕的按鈕的onClick方法,我使用:
getApplicationContext().setWallpaper(bmp);
當我運行這個應用程序,一切似乎完美!照片拍攝後,我將imageView設置爲圖片,然後當我按下按鈕將圖像設置爲我的壁紙時,我的壁紙變化了。
然而,問題是來自相機的圖像沒有正確設置爲壁紙。出於某種原因,圖片尺寸減小,因此只有壁紙的中間是該圖片。大部分屏幕都是黑色的。由於某種原因,圖像縮小了。我希望圖片是全屏的,但現在它已經最小化了,背景是黑色的。
有沒有人有任何想法,爲什麼這是?我正在關注教程視頻,並且教程中的人員可以完美地工作(該圖像被設置爲全屏幕牆紙)。
我非常感謝所有幫助,非常感謝!
其他人知道我可以如何縮放它,以便我設置壁紙全屏?
大多數相機,或至少我的htc droid令人難以置信的有一個8MP相機在背面時,當你拍照片所需的內存量,以查看一張全尺寸的照片是巨大的,如果你不規模你可以運行內存不足的地方。你需要預先正確縮放它,所以OS不會爲你做到這一點 – L7ColWinters 2012-07-15 05:32:22
@ L7ColWinters是的,我測試的手機是Galaxy S2,所以它有一個8mp的遊戲。好吧,所以我有點明白你在說什麼。全屏圖片會佔用太多內存,所以它使用的是一個包含較少數據的小圖片。那麼如何以編程方式解決這個問題?什麼是需要縮放我的位圖的代碼?感謝您的迴應btw。 – bhsu 2012-07-15 15:48:21