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


 
Herramientas
  #1  
Viejo 03/02/14, 01:35:52
Avatar de manolazo
manolazo manolazo no está en línea
Miembro del foro
Mensajes: 219
 
Fecha de registro: jun 2012
Localización: Madrid
Mensajes: 219
Modelo de smartphone: Samsung Galaxy S7 edge
Tu operador: Pepephone
Mencionado: 1 comentarios
Tagged: 0 hilos
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" />
El caso es que cuando hago estos cambios en los layouts , eclipse me lanza el siguiente error:

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??
Responder Con Cita


  #2  
Viejo 03/02/14, 08:49:32
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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).
Responder Con Cita
  #3  
Viejo 03/02/14, 11:45:27
Avatar de manolazo
manolazo manolazo no está en línea
Miembro del foro
Mensajes: 219
 
Fecha de registro: jun 2012
Localización: Madrid
Mensajes: 219
Modelo de smartphone: Samsung Galaxy S7 edge
Tu operador: Pepephone
Mencionado: 1 comentarios
Tagged: 0 hilos
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
Responder Con Cita
  #4  
Viejo 03/02/14, 12:06:00
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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...
Responder Con Cita
  #5  
Viejo 04/02/14, 01:56:08
Avatar de manolazo
manolazo manolazo no está en línea
Miembro del foro
Mensajes: 219
 
Fecha de registro: jun 2012
Localización: Madrid
Mensajes: 219
Modelo de smartphone: Samsung Galaxy S7 edge
Tu operador: Pepephone
Mencionado: 1 comentarios
Tagged: 0 hilos
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.
Responder Con Cita
  #6  
Viejo 04/02/14, 08:38:46
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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.
Responder Con Cita
  #7  
Viejo 04/02/14, 12:27:52
Avatar de manolazo
manolazo manolazo no está en línea
Miembro del foro
Mensajes: 219
 
Fecha de registro: jun 2012
Localización: Madrid
Mensajes: 219
Modelo de smartphone: Samsung Galaxy S7 edge
Tu operador: Pepephone
Mencionado: 1 comentarios
Tagged: 0 hilos
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?
Responder Con Cita
  #8  
Viejo 04/02/14, 14:47:38
Avatar de manolazo
manolazo manolazo no está en línea
Miembro del foro
Mensajes: 219
 
Fecha de registro: jun 2012
Localización: Madrid
Mensajes: 219
Modelo de smartphone: Samsung Galaxy S7 edge
Tu operador: Pepephone
Mencionado: 1 comentarios
Tagged: 0 hilos
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
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 02:58:30 (GMT +2)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007