안드로이드 백그라운드 지정시 ImageView의 scaleType Matrix와 같이 지정하는 방법이 있을까요?


상단의 스크롤 뷰 터치시 스크롤 뷰 확장 및 하단에 위치한 레이아웃을 숨기기 위해 weight 를 줄이는 방법을 사용하였습니다.(초짜라 이 방법이 맞는진 모르겠네요..)

헌데 스크롤 뷰 확장전에는 문제가 되지 않는데 확장 후에 백그라운드 이미지가 늘어나버리더라구요;;

혹시 백그라운드 이미지 지정시에 ImageView scaleType Matrix 처럼 지정하는 방법이 있는지요?


조회수 197


1 답변


좋아요
2
싫어요
채택취소하기

View의 android:background 속성에는 scaleType을 지정할 수 없습니다. 레이아웃을 구성할 때 android:background로 이미지를 설정한 것처럼 ImageView를 레이아웃의 첫번째에 위치시켜보세요.

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    android:layout_width="match_parent"
    android:layout_width="match_parent">

    <!-- 백그라운드로 사용할 ImageView -->
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/background"
        android:scaleType="matrix" />

    <!-- 백그라운드 위에 노출될 뷰 -->    
    ...
    ...

</FrameLayout>

위 방식으로 원하는 레이아웃을 구성할 수 없다면 커스텀 뷰를 만들어서 직접 배경 이미지를 그리는 방식으로 처리할 수도 있습니다. 비트맵을 그리는 방법은 아래 링크들을 참고하세요.


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close