2012-05-25 4 views
9

ListView를 우아하게 보이도록 스타일링하는 방법은 많이 있지만, 모두 어댑터를 수정하거나 추가 코드를 작성해야합니다.안드로이드 ListView themes

Android 4.0의 출시와 함께 불행히도 상황이 바뀌어야합니다. Google은 Holo 테마를 연마하여 새로운 모습을 나타 냈습니다. 모든 개발자가 모든 앱을 동일하게 보이도록 모든 개발자가이 앱을 사용하도록 권장됩니다.

그리고 여기에 문제가 있습니다. Google은 4.0 버전을 선보였지만 구형 Android 버전을 사용하는 사람들은 여전히 ​​있습니다. 오래된 장치를 가진 사용자가 시각적 경험을 망칠 수 있기 때문에 우리는 이전 사용자 지정 응용 프로그램 테마를 그대로두고 Holo를 사용할 수 없습니다. 솔직히 말하면 4.0 사용자가 Holo를 사용하도록 강제 할 수는 없습니다. 아직 완벽하지는 않습니다.

목표는 기본 테마 시스템을 사용하고 Holo에 대한 몇 가지 대안을 준비하는 것입니다. Holo는 모든 장치에서 멋지게 보입니다. 그런 다음 setTheme()을 사용하여 Holo와 테마 사이를 전환 할 수 있으며 추가 문제는 없습니다. 불행히도 그렇게 간단하지 않습니다. 우리는 기존의 테마 시스템의 기능에 국한되며 일부 작업은 어렵습니다. 그리고 여기에 내 질문이 온다.

내가 언급 한 모든 사항을 고려하여 어떻게 ListView를 제어 할 수 있습니까? 내가 알아낼 수 아니에요,하는 방법 : 마지막/첫 번째 요소를 선택할 때

  • 는 모서리가 둥근 목록을 작성하고 있는지 확인 선택기 배경
  • 이 목록은 둥근 모서리를하지 생성을 파괴하지 않습니다 머리글로 구분 된 섹션은 다음과 같습니다. enter image description here

추가 솔루션 코드는 추가 코드없이 PreferenceActivity에 의해 생성 된 ListView에 영향을줍니다. 모든 것은 테마에 포함되어야한다 : 나는 친절하게 스타일을 & 테마를 사용하지 않는 솔루션을 게시하지 물어

<theme name="SampleTheme" parent="android:Theme"> 
    ... 
</theme> 

. 스택 오버플로에 대한 다른 질문에서 쉽게 찾을 수 있습니다.

미리 감사드립니다.

+1

http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index를 확인해보세요. html –

+0

@JaredRummler이 링크는 깨졌습니다. – Zety

+0

@WalR I * think * 이것은 같은 것입니다 : http://romannurik.github.io/AndroidAssetStudio/ –

답변

1

이 문제를 해결하는 방법은 두 가지입니다.

배경을 지정하는 listviews의 테마를 사용하면됩니다.이 배경은 둥근 모서리 또는 사용자가 지정한 xml 모양의 9 패치 (둥근 모서리도 포함)입니다. 이것은 listview 행 선택기의 부작용을 지정한 배경 위에 '나타납니다. 따라서 효과를 망칠 수 있습니다. 그래도 구현하는 것은 간단합니다.

두 번째 옵션은 상단과 하단에 둥근 모서리가있는 셀렉터 인 배경을 가진 목록 뷰에 머리말과 꼬리말을 추가하는 것입니다. 정말로 원한다면 이것들에 대한 스타일을 지정할 수 있습니다. 이 마지막 댓글을 드려 죄송합니다. 말씀 드렸습니다. 앱을 iPhone 앱처럼 보이게하려고하지 마십시오.