我正在创建应用程序以将图像设置为壁纸。我正在使用以下代码在每个屏幕中修复图像。代码工作正常。图像适合。但是我有一个问题,如果我玩任何游戏,然后回到主屏幕或重新启动我的设备,然后大小的壁纸缩放。我想阻止这一点。当我从我的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
这段代码对我来说有点困惑。你能告诉我,我必须在代码中添加此代码吗?查看更新。 –