2011-10-16 5 views
1

세로 또는 가로 모드의 장치를 기준으로 코드를 사용하여 홈 화면 배경 무늬의 크기를 조정하는 가장 좋은 방법은 무엇입니까?코드를 사용하여 배경 화면 크기를 조정 하시겠습니까?

많은 기기에서 작동하는지 확인하고 싶습니다.

코드 샘플을 제공해주십시오.

우리는 현재 배경 화면을 설정하려면이 옵션을 사용하는

:

myWallpaperManager.setResource(R.drawable.thewallpaper); 

배경 무늬는 또한 PNG 파일입니다.

는 업데이트 : coder_for_life22의 코드를 기반으로

,이 그것을 변경 :

 try { 
      myWallpaperManager.setResource(R.drawable.kabaday1); 

      myCurrentImageName = "kabaday1"; 

      Bitmap myBitmap = BitmapFactory.decodeResource(context.getResources(), 
        R.drawable.kabaday1); 

      Bitmap bitmapResized = Bitmap.createScaledBitmap(myBitmap, 600, 300, 
        false); 

      myWallpaperManager.setBitmap(bitmapResized); 

     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

그것은 이미지 크기를 조정하지만 안드로이드가 다시 표시와 동일한 이미지 크기로 이미지를 확대 그것은 스케일을 줄이기 전에 했었습니다. 이번에 만 이미지 품질이 퍼지 측면에 있었지만 여전히 축소 된 것처럼 보이고 크기를 줄여야하는 전체 이미지를 표시하지 않았습니다.

이상한 행동입니다. 어쩌면이 코드에 추가해야 할 코딩이 더 많아서 실제로 축소되고 예리하게 유지됩니다. 적어도 이미지는 작아야하기 때문에 그렇게해야한다고 생각합니다.

같은 일을하는 많은 앱이 있습니다. 나는 그들이 어떻게하고 있는지 알기를 바란다.

감사합니다.

답변

1

당신이

Bitmap bitmapResized = Bitmap.createScaledBitmap(src, dstWidth, dstHeight, filter); 

myWallpaperManager.setBitmapResource(bitmapResized); 

편집을 사용하여 이미지의 크기를 조정해야합니다 : 당신은 또한 당신이 사용하고있는 이미지 뷰의 scaleType을 변경해야 할 수 있습니다. imageview가있는 xml에 이것을 삽입하면됩니다.

android:scaleType = "FIT_CENTER" 

위의 코드에 삽입하여 프로그래밍 방식으로 처리 할 수 ​​있습니다.

myWallpaperManager.setScaleType(ImageView.FIT_CENTER); 

확대 된 모양을 제거해야합니다.

+0

안녕하세요 coder_For_Life22, 예제 코드를 기반으로 변경했는데 크기가 작아졌지만 동시에 크기를 조정하여 안드로이드의 크기를 변경하는 것을 보았습니다. 화면에 전체 이미지를 표시하는 대신 확대 된 상태로 유지됩니다. 내 게시물의 '업데이트'섹션의 변경 사항을 확인하십시오. –

+0

내 편집을 확인하십시오 –

+0

안녕하세요 coder_ForLife22,이 앱은 매분마다 배경 화면을 변경하는 슬라이드 쇼 유형 앱이기 때문에 배경 화면 용 ImageView를 사용하지 않습니다. 또한 myWallpaperManager.setScaleType (bitmapResized)과 같은 선이 필요한지 확인하기 위해 myWallpaperManager 이후에 전체 중지를 입력하면 intellisense가 setScaleType을 선택 사항으로 표시하지 않았습니다. 그것을 할 다른 방법이 있습니까? –

관련 문제