2012-01-25 5 views
17

Android 4.0 (ICS)에는 new UI guidelines이 많이 있습니다. 문제는 앞으로 Android 4.0 용 앱을 빌드하고 Android 2.2 및 2.3을 실행하는 기기에서 앱이 동일하게 보이는지 확인하는 방법을 잘 모르겠습니다.Android 4.0 앱을 이전 버전과 호환되게 만드는 방법은 무엇인가요?

Android compatibility librarybackwards compatible Action Bar이 있지만 이전 ICS 폰에 ICS 이후 앱을 이식하는 데있어보다 구체적인 솔루션을 찾고있었습니다.

올바른 경로에 있습니까? 누구든지 어떤 생각을 가지고 있습니까?

+1

링크 된 기사는 ICS와 관련이 없습니다. 안드로이드를 코딩 할 때 안드로이드 규칙을 따르라는 일반적인 권고. –

+1

정확하게 "더 구체적인 해결책"은 무엇입니까? – CommonsWare

+0

그럼 ... Google의 자체 하위 호환 라이브러리 및 툴이 구체적으로 제공되지 않습니까? 당신은 그들이 일하지 않거나 무엇을 기대합니까? –

답변

21

다음은 몇 가지 제안 사항입니다.

먼저 Android Design guidelines에주의하십시오. 나는 이것이 좋은 아이디어라고 생각한다. 명백한 설계 이유에 좋을뿐만 아니라 이전 버전과의 호환성을 더 쉽게 만들어주기 때문이다. 예를 들어, Support Package은 권장 설계 요소를 구형 플랫폼에 가져 오는 데 도움이되며이 패키지의 새로운 회전 속도로 인해 최신 설계 지침과보다 밀접한 관련이 있습니다.


두 번째로 fragments을 사용하십시오. 현재 파편이 많이 필요하다고 생각하지 않더라도 안드로이드 디자인의 미래이며 대형 스크린 안드로이드의 수는 매우 빠르게 증가 할 것입니다. 그리고 약간의 복잡성이 추가되지만, 나는 활동과 뷰를 분리하여 좋은 디자인을 장려한다고 생각합니다.

Support Package (호환성 라이브러리라고도 함)을 통해 조각을 사용할 수 있습니다. 이것은 매우 간단하며이 작업을 수행하는 데 문제가 발생하지 않았습니다. 다만 당신의 수입은 다음과 같이 있는지 확인하십시오 :

import android.**support.v4**.app.Fragment; 

를 네이티브 ICS의 API를 직접 호출 후 오히려 지원 패키지에서 그들을 점점되도록.


세 번째로, 문서에 설명 된대로 테마를 사용하여 ICS/HC 작업 표시 줄을 활성화하십시오. 이렇게해도 Honeycomb 플랫폼 이전 버전에서는 앱에 액션 바가 표시되지 않습니다. 이를 위해 ActionBarSherlock 또는 ActionBarCompat 샘플을 사용해야합니다. 둘 다 좋은 솔루션이지만 앱의 복잡성을 더합니다. 지원 패키지의 현재 버전에는 작업 표시 줄이 없으며 이는 기술적 인 문제로 인한 것입니다.하지만이 문제를 해결하기 위해 노력하고 있습니다.

계속 유지하려는 경우 앱에 ICS & HC에 작업 표시 줄이 있고 이전 플랫폼에는 작업 표시 줄이없는 것이 합리적이라고 생각하십시오. 실제로 Android Dev blog에는 지난 며칠 동안이 상황에서 메뉴 및 조치 항목을 관리하는 데 중점을 둔 게시물이있었습니다.

또한 ActionBarCompat 샘플의 코드를 사용하여 나중에 앱에 프리 허니 콤 액션 바를 추가해도 나쁘지는 않을 것이라고 생각합니다. 내 의견으로는 나중에 조각을위한 코드를 다시 작성하는 것이 훨씬 쉽습니다.

마지막으로, 당신은 (는 ICS의 액션 바의 경우) 홀로그램 테마와 showAsAction="ifRoom" 요소로 요소를 참조 할 수 있도록 최근의 SDK를 사용할 필요가 있습니다, 같은 것을 포함 할 것이다 그래서 매니페스트 :

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> 
+0

자세한 게시물 주셔서 감사합니다. 내 질문에 이미 링크 된 3 개의 기사에 링크되어 있습니다. 아직 ActionBar에 문제가 있습니다. ICS 이전 장치에 표시 할 분할 ActionBar를 얻으려면 어떻게해야합니까? –

+1

그 질문에 대한 답을 모르겠습니다. 내 게시물마다 ICS 이전 장치에 파편을 사용하고 있지만 액션 바는 사용하지 않았습니다. – Tom

+0

최상의 솔루션 IMHO는 ActioBarSherlock입니다. 모든 것을 다루는 2.x에서 4.x까지 지원합니다! – Paschalis

관련 문제