Pregunta android.support.v7.widget.GridLayout no puede hacer que funcione


Tengo un proyecto de Android que utiliza GridLayout en la mayoría de sus menús y pantallas. Sin embargo, el problema es que GridLayout es compatible con API 14 en adelante.

Como también quiero que la aplicación esté disponible para la versión anterior de Android, traté de usar la propia biblioteca de soporte de Android. Diseño de cuadrícula que agrega soporte hasta API 7. Esto era exactamente lo que estaba buscando, sin embargo, no puedo por mi vida hacer que funcione. He intentado todas estas explicaciones e ideas:

  1. Instrucciones oficiales de Android
  2. Solución 1
  3. Solución 2
  4. Solución 3
  5. Solución 4
  6. Solución 5

y más...

No importa lo que hago, cómo lo hago o qué IDE utilizo (ya sea Eclipse ADT o Android Studio), siempre me da un error en el Layout XML en la línea de:

The following classes could be instantiated:  - android.support.v7.widget.GridLayout

With either one of these exceptions showing in the error log:

1. android.content.res.Resources$NotFoundException: Could not resolve value 0x7F080000
2. java.lang.classnotfoundexception: android.support.v7.gridlayout.R$dimen

Editar: como referencia, esto es lo que estoy usando para crear el gridlayout de soporte (tomado directamente de los programas de ejemplo de Android):

<android.support.v7.widget.GridLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/blue"
    android:padding="10dip"
    app:columnCount="4"
    >
    <TextView
        android:text="@string/string_test"
    />
    <EditText
        app:layout_gravity="fill_horizontal"
        app:layout_column="0"
        app:layout_columnSpan="4"
    />
    <Button
        android:text="@string/button_test"
        app:layout_column="2"
    />
</android.support.v7.widget.GridLayout>

¿Qué podría estar haciendo mal que ninguna de las soluciones anteriores funciona? ¿Hay algo que me falta, tal vez hay un problema con mi código original?

Cualquier ayuda es apreciada


18
2017-08-29 08:39


origen


Respuestas:


Intente usar Gradle, y en su archivo build.gradle agregue la siguiente sección al final:

dependencies {
  compile 'com.android.support:gridlayout-v7:25.2.0'
  compile 'com.android.support:appcompat-v7:25.2.0'
}

Luego ejecuta assembleDebug gradle task.


46
2017-12-27 15:34



Con Android Studio:

  • Entre en build.gradle y agregue:

    compile 'com.android.support:appcompat-v7:18.0.+'
    

    en tus dependencias

  • Sincronice su proyecto haciendo clic en el ícono a la izquierda del administrador de AVD. Implementará la biblioteca

  • E intenta de nuevo

Con Eclipse prueba esto: Compatibilidad con Gridview v7 para api más antigua android.support.v7.widget.Gridlayout no se pudo instalar


4
2017-08-29 08:52



Referir de http://developer.android.com/tools/support-library/features.html#v7-gridlayout, debe importar gridlayout como un proyecto de eclipse, luego agregarlo como un proyecto de biblioteca en su proyecto, asegúrese de que la ruta de compilación incluya el contenedor.


2
2018-01-09 00:45



En mi caso, lo arreglé configurando:

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" />

en el archivo de manifiesto del proyecto gridlayout_v7.


1
2018-03-31 17:09