Intereting Posts
EditText и TabHost не любят друг друга Как использовать API входа в Google с помощью Cordova / Phonegap Пользовательский агент Android HTTP Определение типа сетевого подключения на Android Можно ли использовать вектор, который можно использовать так же, как я использовал 9 патчей? Данные о намерениях камеры null в onActivityResult (int requestCode, int resultCode, Intent data) в Samsung S3 Сотовые уведомления. Как установить largeIcon в нужный размер? Компиляция, предоставление, APK – область зависимостей Android Сервис против IntentService Как определить ширину экрана в терминах dp или dip во время выполнения в Android? Как запретить клиенту просматривать внутренние частные классы в библиотеке Android? Как вставить запись SQLite с установленным значением «сейчас» в приложении Android? Android – Пользовательский диалог – Не удается получить текст из EditText Проверьте, добавлен ли элемент вида в макет или нет программно Получение списка классов из пакета в Android-проекте

Настройка панели меню Android Background & Persistence – использование атрибута в старых версиях приводит к сбою – существует ли тема / шаблонный подход?

В 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 ресурсов -v11 , одну в регулярном наборе ресурсов. Это немного меньше DRY, чем хотелось бы, так как основная часть макета одинакова, и только один атрибут включен или пропускается.

Я взял удар, пытаясь использовать выделенные псевдонимы ресурсов, поэтому android:background может ссылаться на псевдоним, и псевдоним будет обрабатывать дифференциацию -v11 , но <bitmap> -v11 <bitmap> drawables не похоже на android:src="@null" .

Я подозреваю, что для этой проблемы существует стиль и тема, но, поскольку я никогда полностью не обволакивал их (один из моих более смущающих пробелов в знаниях Android), я не совсем уверен, что делать.

Кто-нибудь разработал шаблон для использования «активированного» на 3.0 и пропустив его на pre-3.0, помимо отдельных макетов?

Благодаря!

Solutions Collecting From Web of "Настройка панели меню Android Background & Persistence – использование атрибута в старых версиях приводит к сбою – существует ли тема / шаблонный подход?"

Стили – ваш друг ….

Имеют два каталога значений, один – значения-v11, другие значения по умолчанию.

Каждый каталог значений содержит styles.xml, разница состоит в том, что значения по умолчанию содержат;

 <style name="listViewActivatedStyle"/> 

Значения-v11 содержат;

 <style name="listViewActivatedStyle"> <item name="android:background">?android:attr/activatedBackgroundIndicator</item> </style> 

Тогда вы можете использовать один макет;

 style="@style/listViewActivatedStyle" 

И выбирается соответствующий.