Intereting Posts
Запустить приложение и применить изменения android studio 2.3 OnClick изменить цвет фона tablerow Можно ли использовать AsyncTask в классе Service? Какой алгоритм использует карты Google для вычисления направления между двумя точками? Android PopupWindow showAsDropDown () не работает должным образом Расписание уведомления с помощью диспетчера аварийных сигналов в форматах xamarin для Android Поддержка SVG на Android Пользовательские атрибуты XML без пользовательского представления в фрагменте Youtube Api андроид автозапуск Android-код для масштабирования и панорамирования Относительная компоновка, содержащая текстовые поля, кнопки, прядильщики и т. Д. Ошибка компиляции исходного кода Android: «Попробуйте увеличить размер кучи с помощью опции java» -Xmx <size> » Библиотека SNMP для Android Android-программирование – разрешение экрана Невозможно создать экземпляр вложенного класса (расширяет broadcastReceiver) при создании sendBroadcast Ошибка приложения при использовании библиотеки поддержки Action Bar v7 для Android 2.3 и выше

Невозможно использовать GridLayout, хотя поддержка lib была импортирована с помощью ActionBarSherlock

У меня есть проект Android, в котором я использую ActionBarSherlock, который я импортировал в рабочей области как отдельный проект, который также содержит библиотеку поддержки Android.

Теперь я хотел бы использовать GridLayout, и я предполагал, что, учитывая наличие библиотеки поддержки, она будет признана и доступна, но это не так. Eclipse говорит мне, что мне нужно установить минимальный API для моего проекта на 14, в то время как я вынужден оставить его в 8. Есть ли способ, которым я могу это исправить?

Надеюсь, это было достаточно ясно. Спасибо за помощь.

GridLayout был перенесен только на API 7+ и доступен в виде проекта библиотеки в папке SDK. Вы можете найти его в SDK/extras/android/support/v7 .

Он не является частью ABS и не поддерживает библиотеку поддержки v4.

Трудно определить вашу проблему, не видя настройки проекта. Я могу создать новый проект с нуля, который использует библиотеки ActionBarSherlock и GridLayout .

  1. Убедитесь, что у вас есть последние ActionBarSherlock SDK , ActionBarSherlock , GridLayout и v4-support а также обновленный ADT Eclipse plugin .
  2. Создайте новый проект и оставьте все по умолчанию, за исключением:

     Build SDK = Android 4.1 (API 16) Minimum Required SDK = API 8 
  3. Откройте «Свойства проекта» -> Android и добавьте библиотеки actionbarsherlock и gridlayout.

  4. values-v11 папку res и удалите values-v11 и values-v13 вложенных папок.

  5. Изменить res\values\styles.xml :

     <resources> <style name="AppTheme" parent="Theme.Sherlock.Light" /> </resources> 
  6. Изменить res\layout\activity_main.xml :

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.v7.widget.GridLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" app:columnCount="2" tools:context=".MainActivity" > <TextView android:padding="@dimen/padding_medium" android:text="@string/cell1" tools:context=".MainActivity" /> <TextView android:padding="@dimen/padding_medium" android:text="@string/cell2" tools:context=".MainActivity" /> <TextView android:padding="@dimen/padding_medium" android:text="@string/cell3" tools:context=".MainActivity" /> <TextView android:padding="@dimen/padding_medium" android:text="@string/cell4" tools:context=".MainActivity" /> </android.support.v7.widget.GridLayout> </RelativeLayout> 
  7. Создание отсутствующих ресурсов строки (cell1, …)

  8. Изменить MainActivity.java:

     package com.test.gridlayout; import android.os.Bundle; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.SherlockFragmentActivity; import com.actionbarsherlock.view.Menu; public class MainActivity extends SherlockFragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ActionBar ab = getSupportActionBar(); ab.setDisplayShowTitleEnabled(true); ab.setDisplayUseLogoEnabled(false); ab.setDisplayHomeAsUpEnabled(false); } @Override public boolean onCreateOptionsMenu(Menu menu) { getSupportMenuInflater().inflate(R.menu.activity_main, menu); return true; } } 
  9. Это.

Если у вас все еще есть проблемы, используйте этот демонстрационный проект в качестве отправной точки.