2010-07-28 13 views
2

전체 화면에서 이미지를 올바르게 회전시킬 수 없습니다. 문제는 이미지가 회전 할 때 일부 영역에서 배경을 볼 수 있다는 것입니다. 이미지가 회전 할 때도 화면을 채우고 싶습니다. 다음은 레이아웃입니다. 나는 성공하지 않고 다른 스케일 타입을 시도했다.전체 화면에서 이미지 회전

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <ImageView 
     android:id="@+id/image" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:scaleType="centerCrop" /> 
</LinearLayout> 

그리고 여기에 제가 사용하고있는 코드가 있습니다.

image = (ImageView) findViewById(R.id.image); 
image.setBackgroundResource(R.drawable.back_big); 
rot = AnimationUtils.loadAnimation(this, R.anim.rotation); 
image.startAnimation(rot); 

onResume에서 애니메이션을 시작합니다. 내가 말했듯이, 이미지는 회전하지만 회전 할 때 배경 영역이 있습니다. 나는 스크린보다 훨씬 더 큰 이미지를 사용하려고 시도했지만 여전히 내가 원하는 것을하지 않는다. 이미지의 바깥 쪽 영역이 보이지 않더라도 걱정하지 않습니다. 회전만으로 화면을 채우고 싶습니다. ImageView은 처음에는 너비와 높이를 설정 한 다음 회전 할 때 해당 크기를 사용합니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?

답변

0

문제를 자세히 살펴본 후에 내가 원하는 것을 성취 할 수 없다고 생각합니다. 가능하다면, 너무 복잡하고 가치가 없습니다.

0

ImageView의 scaleType을 "centerCrop"로 설정하고 있습니다. 불행히도 다른 scaleTypes의 정확한 의미에 대한 좋은 설명서가 없지만 이미지의 중심이 ImageView의 정확한 크기로 자릅니다. 따라서 회전을 시작하면 배경 영역이 표시됩니다.

scaleType을 "가운데 맞춤"로 변경해보십시오.

+0

이미 모든 scaleTypes를 시도했지만 성공하지 못했습니다. ImageView는 이미지의 너비와 높이를 화면의 너비와 높이로 설정 한 다음 회전 할 때 이미지 크기를 비폭적으로 변경하지 않는다고 생각합니다. 그래서 scaleType이 중요하지 않다고 생각합니다. –