我正在創建應用程序以將圖像設置爲壁紙。我正在使用以下代碼在每個屏幕中修復圖像。代碼工作正常。圖像適合。但是我有一個問題,如果我玩任何遊戲,然後回到主屏幕或重新啓動我的設備,然後大小的壁紙縮放。我想阻止這一點。當我從我的android應用程序設置壁紙時,我希望圖像大小適合第一次。如何在Android中永久設置壁紙
這裏的代碼 -
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.full_image);
face = Typeface.createFromAsset(getAssets(), "fonts/ABEAKRG.TTF");
Intent i = getIntent();
position = i.getExtras().getInt("id");
full = (LinearLayout) findViewById(R.id.full);
btn = (Button)findViewById(R.id.btn);
btn.setTypeface(face);
btn.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
int width = metrics.widthPixels;
Bitmap tempbitMap = BitmapFactory.decodeResource(getResources(), mThumbId[position]);
Bitmap bitmap = Bitmap.createScaledBitmap(tempbitMap,width,height, true);
WallpaperManager wallpaperManager = WallpaperManager.getInstance(FullImageActivity.this);
wallpaperManager.setWallpaperOffsetSteps(1, 1);
wallpaperManager.suggestDesiredDimensions(width, height);
try {
wallpaperManager.setBitmap(bitmap);
Toast.makeText(getApplicationContext(), "Done", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
}});
changeBackground();
ActivitySwipeDetector activitySwipeDetector = new ActivitySwipeDetector(this);
full.setOnTouchListener(activitySwipeDetector);
}
private void changeBackground(){
full.setBackgroundResource(mThumbId[position]);
}
在此先感謝。
我知道我必須使用sharedpreferences,但不知道如何保存圖像sharedpreferences。請告訴我如何保存? –
我將編輯我的答案 – GvSharma
這段代碼對我來說有點困惑。你能告訴我,我必須在代碼中添加此代碼嗎?查看更新。 –