Android : ImageView 또는 ImageButton에서 이미지가 조정되는 것을 방지하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/2406172

문제

"fill_parent"또는 "weight"를 사용하여보기 또는 버튼이 늘어난 경우 ImageView 또는 ImageButton에서 비트 맵이 자동으로 스케일링되는 것을 방지하려면 어떻게해야합니까?

예를 들어 버튼이 똑같이 간격을 두는 화면 상단에 4 버튼 도구 모음을 만드는 데 유용하지만 버튼 내부의 이미지는 ScaleType = "Center"를 사용하더라도 계속 스트레임이 발생하여 방지해야합니다. 문서에 따르면 스케일링하지만 그렇지 않습니다.

모든 통찰력에 감사드립니다!

감사,

도움이 되었습니까?

해결책

Android : Background를 사용할 때 사용중인 이미지가 뷰 크기로 자동 조정된다는 것을 알았습니다.

Android : SRC를 사용하여 이미지를보기에 넣었습니다. 이미지는 확장되지 않았지만 뷰의 크기에 비해 이미지를 중심으로 가져올 수 없었습니다.

그래서 나는 전체 버튼을 자체 상대 레이아웃을 만들려고했는데 이것이 내가 사용한 것입니다.

<RelativeLayout android:id="@+id/RelativeLayout01" 
                android:layout_height="fill_parent" 
                android:layout_width="fill_parent">
                <ImageButton android:id="@+id/ImageButton01"    
                             android:layout_height="fill_parent"
                             android:layout_width="fill_parent"></ImageButton>
                <ImageView android:id="@+id/ImageView01"
                           android:layout_width="wrap_content"
                           android:layout_height="wrap_content" 
                           android:background="@drawable/cardback1" 
                           android:layout_centerInParent="true"></ImageView>
</RelativeLayout>

ImageButton은 백그라운드에 있으며 항상 레이아웃과 같은 크기입니다. 그러나 ImageView는 항상 RelativeLayout의 중앙에 유지되며 확장되지 않습니다. 이렇게하면 RelativeLayout 자체가 커지고 움직일 수 있으며 버튼 위의 이미지는 항상 같은 크기로 유지되지만 버튼은 커집니다. 그러나 레이아웃이 이미지 자체보다 작아지면 이미지가 줄어 듭니다.

나는 그것이 당신이 찾고 있던 것이라고 생각합니다. 더 나은 방법이있을 수 있지만 이것이 바로 지금 내가 생각해 낼 수있는 전부입니다.

다른 팁

단순히 그림을 수정하고 더 큰 투명 배경을 적용하십시오. HDPI에서 내 그림이 41*48 px icon.png라고 가정하십시오. 투명한 배경으로 새로운 이미지 60*60 px를 만들었고, 이전 아이콘을 복사하고 같은 이름으로 저장하십시오. 이렇게하면 레이아웃을 만질 필요가 없습니다.

그런 다음 적용하면 버튼 영역을 더 크게 확인할 수 있습니다. 투명하지 않은 안드로이드 : 배경:

<ImageButton android:id="@+id/widget_open"
android:src="@drawable/icon_widget_arrow_up"
android:background="#ff777777"
android:layout_height="wrap_content"
android:layout_width="wrap_content"></ImageButton>

이전 및 새로운 드로우 가능을 적용하십시오 안드로이드 : SRC , 이미지 부튼 영역을 명확하게 볼 수 있어야합니다.

그건 그렇고, 나는 호환성 모드에서 앱을 실행하고 있습니다.

이미지가 스케일링 된 경우 호환성 모드에서 앱을 실행하지 않도록하십시오 (예 : 여러 밀도를지지하지 않고 Android 1.5/1.6을 대상으로하고 Android 2.0에서 앱을 실행하는 경우).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top