2015-07-22 1 views
1

Еще один вопрос обоев, я устанавливал его с помощью обоев, но я нашел, что обои не прокручиваются, не пробовали разные пусковые установки, но то же самое происходит, после многих исследований я обнаружил проблему с версией android никто не ответил на мой другой номер question, поэтому я нашел один ответ, который получает размеры экрана и размеры растровых изображений на урике андроида, а затем соответственно масштабирует растровое изображение.прокрутка прокрутки на андроиде 4x и выше

bitmapWidth = (bitmapWidth * screenHeight)/bitmapHeight; 

ЭТО РАБОТЫ! изображение прокручивается, но изображение переустанавливается, поэтому я использую этот метод и играю с высотой и шириной экрана и высотой и шириной растрового изображения, чтобы попытаться заставить это сидеть хорошо, что я хочу, чтобы изображение было отлично масштабировано на любом устройстве и прокручивать Правильно ли какие-либо предложения?

+0

В чем Ваш вопрос? – Machado

+0

извините @holmes ваше право, его неясно, отредактирует вопрос, я хочу, чтобы обои были правильно масштабированы и прокручивались, а ive нашел решение, но, пожалуйста, взгляните на мой другой вопрос, связанный выше –

ответ

0

так после игры много с этим я нашел его довольно просто после получения размеров для высоты экрана, а высота растрового и ширины и с помощью этого

bitmapWidth = (bitmapWidth * screenHeight)/bitmapHeight; 

я могу передать новое измерение высоты растрового

bitMapHeight = bitmap_Width; 

im new, так что если это плохое решение, пожалуйста, исправьте меня, но попробовали на 2 разных телефонах и 2 разных планшетах, и это работает для моего случая, вот мой полный вызов метода;

private void setWallPaper() throws IOException { 
    int screenHeight; 
    int screenWidth; 
    Display display = getActivity().getWindowManager().getDefaultDisplay(); 
    Point size = new Point(); 
    display.getSize(size); 
    screenHeight = size.y; 
    screenWidth = size.x; 
    Bitmap bitmap = ((BitmapDrawable) 
    WallpaperView.getDrawable()).getBitmap(); 
    int bitmapWidth = bitmap.getWidth(); 
    int bitmapHeight = bitmap.getHeight(); 
    bitmapWidth = (bitmapWidth * screenHeight)/bitmapHeight; 
    bitmapHeight = bitmapWidth; 
    WallpaperManager wallpaperManager = 
    WallpaperManager.getInstance(getActivity()); 
    wallpaperManager.setBitmap(bitmap.createScaledBitmap 
    (bitmap,bitmapWidth,bitmapHeight,true)); 
     Snackbar.make(getActivity().findViewById(R.id.wallLayout), 
    "Wallpaper Set "+"height"+ bitmapHeight+ "width"+bitmapWidth, 
    Snackbar.LENGTH_LONG) 
       .show(); 
    } 
Смежные вопросы