В Android 3.0 понятие «проверено» может быть отображено с использованием «активированного» фона. Это дает вам постоянную панель, которую вы видите, когда вы нажимаете на фрагмент списка, обеспечивая контекст для фрагмента справа от списка (например, нажатие на папку в 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 / большой / альбомный, и пропустить его в противном случае.
Я могу добиться этого, имея две отдельные версии макета, одну в наборе ресурсов -v11
, одну в наборе обычных ресурсов. Это немного менее СУХОЙ, чем мне бы хотелось, поскольку основная часть макета такая же, только один атрибут либо включен, либо пропущен.
Я попытался использовать псевдонимы ресурсов с возможностью рисования. , поэтому android: background
может ссылаться на псевдоним, а псевдоним будет обрабатывать дифференциацию -v11
, но чертежам
не нравится android: src = "@ null"
.
Я подозреваю, что к этой проблеме применяется подход, основанный на стилях и темах, но поскольку я Я никогда не думал об этом (один из самых неприятных моих пробелов в знаниях об Android), я не совсем уверен, что делать.
Кто-нибудь разработал шаблон для использования «активированного» в версии 3.0 и пропуска его в предварительной версии. -3.0, за пределами отдельных макетов?
Спасибо!