Saltar al contenido

¿Vista de indicador simple como velocímetro en android?

Posterior a indagar en diferentes repositorios y sitios webs al final encontramos la resolución que te compartiremos pronto.

Otro que encontre en Evelina Vrabie's bloglo usé y funcionó perfecto!

Mirar Evelina Vrabie's GitHub. Tiene una biblioteca de indicadores y algunas muestras para interactuar.

¡Muchas gracias a la propietaria Evelina Vrabie!


ingrese la descripción de la imagen aquí

Sin embargo, no funciona en XHDPI/Pocas versiones de dispositivos Android (más de 4). El problema es el texto en la vista de indicador.

Para cualquiera que busque una vista de indicador simple, creé una biblioteca que puede clonar y usar/modificar según sus necesidades.

Calibre personalizado

ingrese la descripción de la imagen aquí

Todos los demás indicadores que recomendó tienen errores y no funcionan bien en Kitkat y Lollipop. Además, aquí no hay una biblioteca compatible con Android Studio y gradle.

Aquí está el repositorio de git para el más reciente actualizado para Lollipop que puedes usar con Gradle:

  • https://github.com/Sulejman/GaugeView

ingrese la descripción de la imagen aquí

Después de incluir la biblioteca en su proyecto, agregue gaugelibrary al diseño xml de su actividad:


Esto mostrará static calibre sin aguja. Para crear una instancia de aguja con animación aleatoria, debe hacerlo en el archivo de clase de actividad. Mira cómo se hace aquí:

package io.sule.testapplication;

import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.Menu;
import android.view.MenuItem;

import java.util.Random;

import io.sule.gaugelibrary.GaugeView;

public class MainActivity extends Activity 
   private GaugeView mGaugeView;
   private final Random RAND = new Random();

   @Override
   protected void onCreate(Bundle savedInstanceState) 
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);

      mGaugeView = (GaugeView) findViewById(R.id.gauge_view);
      mTimer.start();
   


   private final CountDownTimer mTimer = new CountDownTimer(30000, 1000) 

      @Override
      public void onTick(final long millisUntilFinished) 
         mGaugeView.setTargetValue(RAND.nextInt(101));
      

      @Override
      public void onFinish() 
   ;

Esto creará una instancia de la aguja y la animará moviéndose a valores aleatorios.

Comentarios y valoraciones

Si entiendes que ha resultado provechoso nuestro post, sería de mucha ayuda si lo compartes con más entusiastas de la programación así contrubuyes a dar difusión a este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *