![]() |
|
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
Poner GridLayout en API 10, errores?
Buenas.
Se sabe que para implementar un GridLayot es necesario minimo API 14, sin embargo quiero bajar el requerimiento en el manifest a API 10 para que el juego llegue a mas terminales. Habia un tema abierto de hace tiemp o(http://www.htcmania.com/showthread.php?t=749677 ) pero el autor desistio. He estado mirando como hacerlo importando la libreria de GridLayout que viene en la siguiente ruta: <sdk_folder>\extras\android\compatibility\v7\gridl ayout siguiendo este metodo para importarla: http://developer.android.com/tools/s...#libs-with-res Una vez importada , en el readme.txt de dicha libreria indica que: "Make sure you use <android.support.v7.widget.GridLayout> in your layouts instead of <GridLayout>. Same for <android.support.v7.widget.Space> instead of <Space>." Por ejemplo: Código:
<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.GridLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" <==== the namespace used for the library project android:layout_width="match_parent" android:layout_height="match_parent" app:columnCount="6" > <===== notice how we're using app:columnCount here, not android:columnCount! <Button android:id="@+id/button1" app:layout_column="1" <=== again, note the app: namespace app:layout_columnSpan="2" app:layout_gravity="left" app:layout_row="1" android:text="Button" /> <CheckBox android:id="@+id/checkBox1" app:layout_column="4" app:layout_gravity="left" app:layout_row="2" android:text="CheckBox" /> <Button android:id="@+id/button2" app:layout_column="5" app:layout_gravity="left" app:layout_row="3" android:text="Button" /> <android.support.v7.widget.Space <=== space widgets also need the full support package path android:layout_width="21dp" <=== use the android namespace for width, height etc -- only use app: for the grid layout library's new resources android:layout_height="1dp" app:layout_column="0" app:layout_gravity="fill_horizontal" app:layout_row="0" /> 02-03 01:04:28.900: E/AndroidRuntime(2660): FATAL EXCEPTION: main 02-03 01:04:28.900: E/AndroidRuntime(2660): java.lang.NoSuchMethodError: android.support.v4.view.ViewGroupCompat.getLayoutM ode 02-03 01:04:28.900: E/AndroidRuntime(2660): at android.support.v7.widget.GridLayout$Bounds.includ e(GridLayout.java:2155) 02-03 01:04:28.900: E/AndroidRuntime(2660): at android.support.v7.widget.GridLayout$Axis.computeG roupBounds(GridLayout.java:1203) 02-03 01:04:28.900: E/AndroidRuntime(2660): at android.support.v7.widget.GridLayout$Axis.getGroup Bounds(GridLayout.java:1212) 02-03 01:04:28.900: E/AndroidRuntime(2660): at android.support.v7.widget.GridLayout$Axis.createLi nks(GridLayout.java:1221) 02-03 01:04:28.900: E/AndroidRuntime(2660): at android.support.v7.widget.GridLayout$Axis.getForwa rdLinks(GridLayout.java:1247) 02-03 01:04:28.900: E/AndroidRuntime(2660): at android.support.v7.widget.GridLayout$Axis.createAr cs(GridLayout.java:1372) 02-03 01:04:28.900: E/AndroidRuntime(2660): at android.support.v7.widget.GridLayout$Axis.getArcs( GridLayout.java:1405) 02-03 01:04:28.900: E/AndroidRuntime(2660): at android.support.v7.widget.GridLayout$Axis.computeL ocations(GridLayout.java:1576) 02-03 01:04:28.900: E/AndroidRuntime(2660): at android.support.v7.widget.GridLayout$Axis.getLocat ions(GridLayout.java:1597) . . . . No se si esta mal implementada la libreria o si el error es en el layout o que demonios puede ser porque en StackOverFlow no veo una solucion al tema definitiva. Alguna idea?? |
|
#2
|
||||
|
||||
Estás usando una versión anticuada de la Android Support V4, asegúrate que estás usando la última versión de la V4 y de la V7. A mi con la última versión de ambas los GridLayout me funcionan perfectamente en API 8 (Froyo).
|
#3
|
Hola,
Como puedo saber si los que tengo no estan actualizados? a traves del android sdk manager? como me bajo las ultimas versiones? Edito, segun sdk manager tengo instalado el Android Support Library 19.0.1 aunque no esta instalado el android SUpport Repository. Se supone pues que ya lo tengo actualizado? Última edición por manolazo Día 03/02/14 a las 11:59:28 |
#4
|
||||
|
||||
Tienes que actualizar también la librería en el proyecto, no basta con bajarla con el SDK Manager.
Borra la support v4 de la carpeta Libs en el Eclipse. Y después dale con el botón derecho al proyecto y selecciona: Android Tools -> Add Support Library... |
#5
|
Hola,
Efectivamente tuve que actualizar la libreria como dices en el proyecto y ya funciona bien el GridLayout en API10. Ahora el problema que tengo es que ObjectAnimator y otras clases de animacion requieren API11 y tengo que importar una libreria externa como nineoldandroids para que funcione en API10 (http://nineoldandroids.com/#usage). Bueno... pues no soy capaz de importarla. Segun la pagina del autor: This library is presented as a .jar file which you can include in the libs/ folder of your application. You can download the latest version from the GitHub downloads page. pero al descargar el archivo esta en .zip Al descomprimirlo hay una carpeta llamada library otra sample y otros archivos tipo readme etc como lo hago? Hay que crear un .jar de la carpeta library? un .jar del zip origina? No dice el autor que la librearia viene en .jar? Un saludo. |
#6
|
||||
|
||||
Yo también uso NineOldAndroids en mis proyectos, y lo importo como proyecto.
Añades el proyecto al Eclipse, y después en las propiedades de tu proyecto añades como librería a NineOldAndroids. |
#7
|
Buenas.
Asi lo hice con la libreria v7 , importando el proyecto y luego agreegandolo en propiedades, pero con NineOldAndroids no hay forma, no se que puedo estar haciendo mal... 1. Descomprimo el JakeWharton-NineOldAndroids-2.4.0-0-.g9f20fd7.zip en el escritorio , dentro me queda la carpeta JakeWharton-NineOldAndroids-2.4.0-0-.g9f20fd7 con dos carpetas library, sample y 6 archicos mas. 2. En eclipse en el package explorer pulso import -> Existing projects intoworkspace -> me voy al escritorio y seleccion la carpeta descomprimida ... pero eclipse me dice que no hay proyectos que importar. Alguna idea? |
#8
|
Buienas.
Por lo que veo creo que no se importa como proyecto. He ido a la seccion de descargas y ahi aparece el .jar. Con solo copiarlo a la carpeta libs del proyecto es suficiente. Un saludo |
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 02:58:30 (GMT +2)
HTCMania: líderes desde el 2007