2012-08-30 14 views
0

인터넷에서 비트 맵을 다운로드하고이 비트 맵을 Drawable으로 형 변환하여 LinearLayout의 배경으로 설정합니다.드로어 블 크기를 전체 화면으로 변경

불행히도 이미지가보기를 채우도록 크기가 조정되는 것을 볼 수 있습니다. 가장 작은 크기가 테두리에 도달 할 때까지 이미지를 확대/축소 할 수 있습니까? (아마도 가운데에 맞 춥니 다)

나는 이것을 시도했지만 성공하지 못했습니다. 가는 길에 있습니까?

 LinearLayout layout = (LinearLayout) context.findViewById(R.id.main); 
     Drawable picture = new BitmapDrawable(context.getResources(), bitmap); 
     Display display = context.getWindowManager().getDefaultDisplay(); 
     Point size = new Point(); 
     display.getSize(size); 
     picture.setBounds(0, 0, size.x, size.y); 
     layout.setBackgroundDrawable(picture); 

답변

1

나는 이렇게 생각합니까?

setScaleType(ScaleType.CENTER_CROP); 

그것은 아니다 것이 좋습니다 사용하는 응용 프로그램에서 이미지를 축소,

+0

예,하지만 내 이미지는 이미지 뷰에 있지 만의 배경으로 설정 LinearLayout. ImageView를 배경에 놓을 수 있는지 (그리고 다른 뷰를 추가 할 수 있는지) 알고 계십니까? – Enrichman

+0

흠 ... 그렇게 생각해. 나는 상대적 레이아웃을 사용하는 것을 정말로 좋아한다 (그들은 모두 자유에 관한 것이다)). ImageView를 배경으로 설정하고 CENTER_CROP와 함께 사용하는 것이 하나의 솔루션입니다. 하지만 LinearLayout 내에서이 작업을 수행 할 수있는 방법을 생각할 수는 없습니다 (어쨌든 가능할 경우). –

1

내가 생각 http://developer.android.com/reference/android/widget/ImageView.ScaleType.html를 참조하십시오. 반복 패턴을 사용하는 것이 가장 좋습니다. 그래서, 그 같은 시도 할 것이다 :

<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
android:src="@drawable/background-image-repeatable-pattern.png" 
android:tileMode="repeat" /> 

저장이 당김하기/background.xml 파일 (예를 들어)