다양한 Android 버전에서 이미지보기가있는 레이아웃 (예 : FrameLayout)을 회전 할 때 이상한 동작이 발생합니다. Android 4.3 이전 버전의 레이아웃 회전 및 자르기 동작
은 XML 레이아웃의 다음 조각을 살펴 보자 :<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000" >
<FrameLayout
android:layout_width="250dp"
android:layout_height="250dp"
android:background="#ffffff"
android:layout_gravity="center"
android:rotation="15" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/bg" />
</FrameLayout>
</FrameLayout>
다음은 안드로이드 4.2, 4.1, 4.0.3에 안드로이드 4.3 및 4.4,하지만 이상한 결과에 좋은 결과를 표시합니다. 이 경우 Android 4.3 이전에 발생하고 그것을 해결하는 방법을 왜 안드로이드 4.2 (나쁜 결과)에
안드로이드 4.3 (좋은 결과)에
는
누구나 알고 ?
감사합니다.
시도를보기 애니메이션에서 특성 기반의 애니메이션 (http://developer.android.com/guide/topics/graphics/prop-animation.html) (HTTP로 전환 : //developer.android.com/guide/topics/graphics/view-animation.html). 다소 비슷한 문제가 있었으며이 스위치로 해결되었습니다. – aga
감사하지만 애니메이션과 관련이 없습니다. 모든 것을 회전시키려는 정적 인 레이아웃. –
@ TheGreatDescartes 실제 기기에서 사용해 보셨습니까? 에뮬레이터 문제 일 수 있습니다. 코드를 통해 설정하려고 했습니까? 아니면 실제로 내부 FrameLayout을 도려 냈고 대신 imageView를 대신 (또는 그 내용) 회전 시켰습니까? 다음은 물건을 회전시키는 몇 가지 방법입니다 : http://stackoverflow.com/questions/1930963/rotating-a-view-in-android. BTW, 애니메이션에 대해서는 Honeycomb부터 시작하여 실제로 애니메이션이 작동하는 방식입니다. 애니메이션이 실행되면서 회전 필드의 값이 변경되고 둘 다 동기화됩니다. –