Простой вид калибра, такой как speedmeter in android?

Я хочу иметь простой вид калибровки, где я буду определять начальное значение и конечное значение и иметь указатель для отображения данного значения переменной.

Введите описание изображения здесь

Поэтому я могу показать заданное значение, например, speedmeter. Например, если мое значение textView равно 1300, то рядом с текстовым представлением я хочу, чтобы эта пользовательская анимация просмотра метра понравилась!

Возможно? Любой существующий пример кода?

Solutions Collecting From Web of "Простой вид калибра, такой как speedmeter in android?"

Другой, который я нашел в Evelina Vrabie's blog , использовал его и отлично работал!

Посмотрите на Evelina Vrabie's GitHub . Он имеет калибровочную библиотеку и некоторые образцы для взаимодействия.

Большое спасибо владельцу Evelina Vrabie!


Введите описание изображения здесь

Однако он не работает с XHDPI / Few версиями устройств Android (выше 4). Проблема – это текст в виде калибра.

Для тех, кто ищет простой вид калибра, я создал библиотеку, которую вы можете клонировать и использовать / модифицировать для своих нужд.

CustomGauge

Введите описание изображения здесь

Все другие калибры, которые вы рекомендовали, имеют ошибки и не работают нормально на Kitkat и Lollipop. Здесь также нет платформы Android Studio и gradle.

Вот git repo для более поздней версии, обновленной для Lollipop, которую вы можете использовать с Gradle:

Введите описание изображения здесь

После того, как вы включите библиотеку в свой проект, добавьте gaugelibrary в xml-макет своей деятельности:

 <io.sule.gaugelibrary.GaugeView android:id="@+id/gauge_view" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffff" gauge:showOuterShadow="false" gauge:showOuterRim="false" gauge:showInnerRim="false" gauge:needleWidth="0.010" gauge:needleHeight="0.40" gauge:scaleStartValue="0" gauge:scaleEndValue="100" /> 

Это покажет статическую калибровку без иглы. Чтобы создать иглу со случайной анимацией, вам нужно сделать это в файле класса активности. Посмотрите, как это делается здесь:

 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() {} }; } 

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

Я не знаю, поможет ли поздний ответ или нет. Я также пришел к той же ситуации, когда я хочу использовать датчик для визуализации данных, поскольку калибр не задан как виджет в андроиде, как энтузиаст, который я посещал для библиотек, таких как выше, которые можно найти через различные ссылки в Интернете, хотя это Был весьма полезен (благодаря замечательным авторам этого). Мне трудно представить себе ситуацию во время определенных ситуаций, поэтому другое решение, которое я сделал для моего приложения, – это интегрировать JavaScript-инструменты в мое приложение для Android. Вы можете сделать это на следующих шагах

  1. Создайте папку с ресурсами в нашем проекте – посмотрите эту ссылку, и вы увидите, как создать папку с активами, если кто-то не знает об этом.
  2. Далее у вас есть дизайн html-страницы, как выглядит ваша страница sholud, например eg-header, no.of guages ​​и т. Д. … и поместить ее в ресурс папки.
  3. Есть много сайтов, которые предоставляют такие способы, как « Это один сайт», или вы можете просматривать другие сайты и принимать все, что вам нравится … !! Возьмите все, включая файлы .js, и поместите их в папку с активами.
  4. Android предоставляет класс для обработки веб-браузера под названием «WebViewClient», который вы можете просмотреть больше, чтобы узнать больше об этом в Интернете
  5. Это пример кода для просмотра содержимого webview.

    Web = (WebView) findViewById (R.id.webview01); ProgressBar = (ProgressBar) findViewById (R.id.progressBar1);

     web.setWebViewClient(new myWebClient()); web.getSettings().setJavaScriptEnabled(true); web.post(new Runnable() { @Override public void run() { web.loadUrl("file:///android_asset/fonts/guage.html"); } }); 

Вышеприведенный для загрузки html и javscript.

  public class myWebClient extends WebViewClient { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { // TODO Auto-generated method stub super.onPageStarted(view, url, favicon); } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub progressBar.setVisibility(View.VISIBLE); view.loadUrl(url); return true; } @Override public void onPageFinished(WebView view, String url) { // TODO Auto-generated method stub super.onPageFinished(view, url); progressBar.setVisibility(View.GONE); } } 

Это класс webview

  1. Вы также можете отправлять данные с активности на страницу html .. См. Эту ссылку

Просьба прочитать все, исправления приветствуются .. !!