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

조회수 4262회

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

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

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

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 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>
    

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

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)