#android #android-layout #android-compatibility
#Android #android-макет #android-совместимость
Вопрос:
Я пытаюсь использовать фрагменты и ActionBar в проекте Android 2.2. При использовании «?android: attr / actionBarSize» возникает некоторая ошибка, как правильно получить и установить это значение?
Пример:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@ id/frags">
<fragment class="com.example.android.hcgallery.TitlesFragment"
android:id="@ id/frag_title"
android:visibility="gone"
android:layout_marginTop="?android:attr/actionBarSize"
android:layout_width="@dimen/titles_size"
android:layout_height="match_parent" />
<fragment class="com.example.android.hcgallery.ContentFragment"
android:id="@ id/frag_content"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Ошибка: не найден ресурс, соответствующий заданному имени (в ‘layout_marginTop’ со значением ‘?android: attr / actionBarSize’).
Комментарии:
1. вы нашли решение для этого? спасибо, приятель!
Ответ №1:
Вы должны просто использовать:
android:layout_marginTop="?attr/actionBarSize"
Смотрите http://developer.android.com/training/basics/actionbar/overlaying.html
«… Тот, у которого есть префикс android:, предназначен для версий Android, которые включают стиль в платформу, а тот, у которого нет префикса, предназначен для более старых версий, которые считывают стиль из библиотеки поддержки …»
Для меня замена
android:layout_marginTop="?android:attr/actionBarSize"
с
android:layout_marginTop="?attr/actionBarSize"
помог запустить приложение на Android 2.2 и Android 4.3 без каких-либо проблем.
Ответ №2:
Я думаю, проблема в том, что actionbar поставляется с Android 3.0, а вы используете 2.2. Но есть способ пропустить это с помощью расширения под названием «actionbarsherlock».
Комментарии:
1. Итак, что вы сделали, чтобы устранить проблему? Всегда отвечайте на ваши вопросы, если вы нашли ответ. Это может пригодиться будущим пользователям.