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