3

RTL 언어에 대한 지원을 포함하는 앱 레이아웃을 만들려고합니다. 타겟팅되는 SDK 버전은 15+입니다. 모든 레이아웃 파일에서 시작/끝 도 마찬가지로을 왼쪽/오른쪽으로 사용했지만 레이아웃이 api 레벨 17 (Android 4.2)의 RTL 언어와 제대로 작동하지 않는 것으로 나타났습니다. Api 레벨 18 이상은 이중 정의 (시작 & 왼쪽)를 처리하는 것처럼 보이므로 레이아웃이 17 레벨에서 엉망인 지 궁금합니다. 아래 텍스트에 따르면 레벨 17에서 18+ .Android에서 RTL 언어의 시작/끝 및 왼쪽/오른쪽 4.2

Native RTL support in Android 4.2:

당신이 안드로이드 4.2에 응용 프로그램을 대상으로하는 경우, 당신은 사용하는 대신 "왼쪽"의 "끝" "시작"을해야합니다 (응용 프로그램의 targetSdkVersion을 또는의 minSdkVersion이 17 이상이다) 및 "권리". 예 : android : paddingLeft는 android : paddingStart가되어야합니다. 당신이 안드로이드 4.2보다 이전 버전에서 작동하도록 응용 프로그램을 원하는 경우

, 당신은 권리를 "시작"과 끝 "추가하기"왼쪽 "과" 을 추가해야합니다 (응용 프로그램의 targetSdkVersion을 또는의 minSdkVersion 16 이하) ". 예를 들어, 은 android : paddingLeft 및 android : paddingStart를 모두 사용합니다.

+0

해결 방법은 api 17 이상에서 별도의 레이아웃 파일을 만들 수 있지만 확실하게이를 처리하는 효율적인 방법이 있어야합니까? – AlexR

+0

진전이 있습니까? – roiberg

+0

정확하게 똑같은 문제가 있습니다. 왼쪽, 오른쪽을 제거하면 API 레벨 17의 레이아웃이 약간 향상되지만 왼쪽과 오른쪽 모두를 사용하면 레이아웃이 API 레벨 17에서 엉망이됩니다. 그러나 17+에서는 잘 작동합니다. 내 응용 프로그램은 minSDK 8을 지원하므로 왼쪽 및 오른쪽 한정자를 생략 할 수 없습니다. –

답변

0

17+ 레이아웃 -v17과 같은 별도 레이아웃을 만들고 레이아웃에 기본 레이아웃을 지정하십시오. 레이아웃 -v17에서는 패딩, 여백, 드루 블레 블레트 등에서 왼쪽 -> 시작 및 오른쪽 - 끝만 바꾸면됩니다. 17 및 플러스에서는 왼쪽 및 오른쪽을 사용하지 마십시오.

다른 방법은 없습니다.