android-support-library 안드로이드 앱바 - Android 배경 및 영속성 메뉴 모음 설정 - 이전 버전의 속성을 사용하면 충돌이 발생합니다 - 테마 / 패턴 접근이 있습니까?




0 Answers

커스텀 오버플로우 메뉴버튼

안드로이드 3.0에서 "checked"개념은 "활성화 된"배경을 사용하여 렌더링 될 수 있습니다. 이렇게하면 목록 조각을 탭할 때 볼 수있는 영구 막대가 표시됩니다 (예 : Gmail의 폴더를 탭하면 폴더를 강조 표시하고 다른 폴더 조각을 열어 해당 폴더의 대화를 표시합니다). ).

예를 들어 조각 샘플은 다음과 같은 내용을 보여줍니다.

setListAdapter(new ArrayAdapter<String>(getActivity(),
                    android.R.layout.simple_list_item_activated_1, Shakespeare.TITLES));

해당 리소스 ( android.R.layout.simple_list_item_activated_1 )는 Android 3.0에서 새로 추가되었습니다. 그것을 "활성화"하게 만드는 것은 :

android:background="?android:attr/activatedBackgroundIndicator"

이 속성 값은 Android 3.0에 새로운 기능으로, 이전 버전의 Android에서 사용하려고하면 충돌 할 수 있습니다. 3.0 / large / landscape 조합에 대한 배경을이 마법 값으로 설정하고, 그렇지 않으면 건너 뜁니다.

두 가지 버전의 레이아웃 (하나는 -v11 리소스 세트, 하나는 일반 리소스 세트)을 사용하면이 작업을 수행 할 수 있습니다. 레이아웃의 대부분이 같기 때문에이 속성 중 하나만 포함되거나 건너 뜁니다.

드로어 블 리소스 별명을 사용하려고 시도 했으므로 android:background 가 별칭을 참조하고 별칭이 -v11 차별화를 처리하지만 <bitmap> 드로어 블이 android:src="@null" 를 좋아하지 않는 것처럼 보입니다 android:src="@null" .

나는이 문제에 대한 스타일과 테마 접근 방식이 있다고 의심하지만, 필자가 안드로이드 지식 격차 중 하나에 대한 내 머리를 감싸 안은 적이 없기 때문에, 나는 무엇을해야할지 완전히 확신하지 못한다.

누구나 3.0에서 "활성화 된"을 사용하고 별도의 레이아웃을 넘어 3.0 이전 버전에서는 건너 뛰는 패턴을 만들었습니까?

감사!




Related