가로 또는 세로 이미지를 모두 저장할 수있는 ImageView를 구현하려고합니다. 이러한 이미지는 이미지 뷰의 너비 (가로 인 경우) 또는 높이 (세로 인 경우)에 맞아야하지만 여하 한 경우에도 여백 또는 패딩없이 뷰의 맨 위에 정렬해야합니다.Android ImageView ScaleType * FIT_TOP *
달성하고자하는 것은 android:scaleType="fitStart"
이지만 인데, 세로 이미지의 경우에는이며, 가로 이미지의 경우에는 상단에 정렬됩니다.
추가 : 나는 작동하는 것 같다 이러한 추한 코드를 사용하고 있지만 확인이 최선의 해결책이다
이제: 내 수업에서 다음
<com.custom.layout.MyImageView
android:id="@+id/detail_view_image"
android:src="@drawable/logo"
android:background="#fff"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:cropToPadding="false"
android:adjustViewBounds="false"
/>
및 이미지 뷰를 확장 전 수행
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int imgWidth = getDrawable().getIntrinsicWidth();
int imgHeight = getDrawable().getIntrinsicHeight();
if(imgWidth>imgHeight)
setScaleType(ScaleType.FIT_START);
else
setScaleType(ScaleType.FIT_CENTER);
int width = measureWidth(widthMeasureSpec);
int height = measureHeight(heightMeasureSpec);
setMeasuredDimension(width, height);
}
비슷한 것을 시도하고 있는데, 이것에 대한 해결책을 찾았습니까? –
지금까지 행운을 빌지 않고, 위에 게시 한 코드를 사용하여 끝냈습니다 ... – 0m4r
ok, 코드 주셔서 감사합니다! –