Я потратил часы на вопрос, который не кажется сложным, но, несмотря на все существующие сообщения на эту тему, я до сих пор не найти решение ...обои подходят изображение размером экрана
Я используя viewpager и в адаптере, у меня есть кнопка и изображение. Я хочу установить изображение из изображения в качестве фонового изображения при нажатии кнопки с помощью myWallpaperManager.setBitmap (изображение). До этого я изменяю размер изображения в соответствии с размером экрана. Обои меняются, но изображение остается масштабированным и обрезанным. Я хотел бы установить обои со всей картиной. У меня одинаковые значения для ширины и высоты getDefaultDisplay(), а также ширина и высота myWallpaperManager.getDesiredMinimumHeight/Width().
Я пробовал много разных способов, которые не сработали. Я не знаю, что еще делать! Большое спасибо за ваш ответ.
Вот код:
Button ButWallpaper = (Button) viewLayout.findViewById(R.id.ButWallpaper);
ButWallpaper.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
Bitmap image;
Bitmap imagelarge = ((BitmapDrawable)imageView2.getDrawable()).getBitmap();
int Measuredwidth = 0;
int Measuredheight = 0;
Point size = new Point();
WindowManager w = _activity.getWindowManager();
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
w.getDefaultDisplay().getSize(size);
Measuredwidth = size.x;
Measuredheight = size.y;
}else{
Display d = w.getDefaultDisplay();
Measuredwidth = d.getWidth();
Measuredheight = d.getHeight();
}
Log.i("TAG", String.valueOf(Measuredwidth));
Log.i("TAG", String.valueOf(Measuredheight));
image = Bitmap.createScaledBitmap(imagelarge, Measuredwidth, Measuredheight,true);
// TODO Auto-generated method stub
WallpaperManager myWallpaperManager
= WallpaperManager.getInstance(_activity.getApplicationContext());
try {
myWallpaperManager.setBitmap(image);
myWallpaperManager.suggestDesiredDimensions(Measuredwidth, Measuredheight);
Log.i("TAG", String.valueOf(myWallpaperManager.getDesiredMinimumHeight()));
Log.i("TAG", String.valueOf(myWallpaperManager.getDesiredMinimumWidth()));
Toast.makeText(_activity.getApplicationContext(), "Wallpaper changed", toast.LENGTH_LONG).show();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}});
Привет, спасибо за ваш ответ. К сожалению, ничего не изменилось, у меня все еще есть обрезанная картинка ... Есть ли вероятность, что это связано с последними обновлениями Android? – tienow
http://stackoverflow.com/questions/22759358/wallpaper-not-properly-fit-on-device-screen –