简单的仪器视图像Android的速度表?(Simple gauge view like speedm

2019-06-18 06:13发布

我希望有一个简单的限界角度,其中i将定义起始值和结束值,并有一个指针,以显示给定的变量值。

所以,我可以显示给定值像速度表。 例如,如果一个TextView我的值是1300,然后旁边的TextView我想有这样的这一习俗米观看动画!

有可能的? 任何现有的示例代码?

Answer 1:

另外一个,我发现在Evelina Vrabie's blog ,用它和工作完美!

看看Evelina Vrabie's GitHub 。 它有一个压力表图书馆和一些样品进行交互。

非常感谢店主埃维莉娜Vrabie!


但是它不工作的机器人装置的XHDPI /几个版本(上述4)。 问题是在限界角度的文本。



Answer 2:

为寻找简单的仪器观点我做的,你可以复制并使用/修改您的需求库。

CustomGauge



Answer 3:

你推荐的所有其它仪表都有漏洞,都不要奇巧和棒棒糖运行良好。 还没有Android的工作室,在这里摇篮友好库。

下面是最近多了一个更新的棒棒糖你可以用摇篮使用git回购:

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

当您在您的项目库中添加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() {}
   };
}

这将实例针,并使其移动动画随机值。



Answer 4:

我不知道迟到的回答是否会帮助或没有。 我也来这里我想用压力表以可视化的数据,因为压力表没有在Android部件给出了相同的情况下,作为一个发烧友我去喜欢它上面可以通过在互联网的各个环节中找到库,尽管它是相当有帮助的(由于它的美妙的作者..)我发现自己很难形象化在某些情况下,使另一种解决方案我所做的是我的应用程序是我integreated JavaScript的计成我的Android应用程序。 您可以通过以下步骤做到这一点

  1. 创建我们的项目-资产文件夹看看这个链接 ,你会看到如何创建一个资产文件夹,如果有人不知道。
  2. 下一个就是你必须在设计你的页面sholud看起来怎么样,对EG-头,节数轨距等的html页面...,并将其放置在文件夹中的资产。
  3. 不存在提供了轨距像很多网站这是一个网站 ,或者你可以浏览其他网站,并采取任何你感觉凉爽...! 采取一切,包括.js文件,并将其放置在资源文件夹。
  4. Android提供用于处理webiview一类被称为“WebViewClient”你可以浏览更多的了解在互联网更多关于它
  5. 这是用于观看网页视图内容的示例代码..

    幅=(web视图)findViewById(R.id.webview01); 进度=(进度条)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);
    }
}

这个web视图类

  1. 您也可以从活动数据发送到HTML页面.. 请参阅此链接

通过所有请阅读,更正欢迎.. !!



Answer 5:

我前一阵子做这一个。 随意复制和修改。 (这需要从旧的一些想法老式温度计 。)

github.com/Pygmalion69/Gauge

它可以很容易地添加到您的摇篮项目:

repositories {
    maven {
        url 'https://www.jitpack.io'
    }
}

dependencies {
    compile 'com.github.Pygmalion69:Gauge:1.1'
}

该意见在XML声明:

<de.nitri.gauge.Gauge
    android:id="@+id/gauge1"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_gravity="center"
    android:layout_marginTop="10dp"
    android:layout_weight="0.75"
    gauge:labelTextSize="42"
    gauge:maxValue="1000"
    gauge:minValue="0"
    gauge:totalNicks="120"
    gauge:valuePerNick="10"
    gauge:upperText="Qty"
    gauge:lowerText="@string/per_minute" />

这里的编程设置值的例子:

    final Gauge gauge1 = (Gauge) findViewById(R.id.gauge1);
    final Gauge gauge2 = (Gauge) findViewById(R.id.gauge2);
    final Gauge gauge3 = (Gauge) findViewById(R.id.gauge3);
    final Gauge gauge4 = (Gauge) findViewById(R.id.gauge4);

    gauge1.moveToValue(800);

    HandlerThread thread = new HandlerThread("GaugeDemoThread");
    thread.start();
    Handler handler = new Handler(thread.getLooper());

    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            gauge1.moveToValue(300);
        }
    }, 2800);
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            gauge1.moveToValue(550);
        }
    }, 5600);

    HandlerThread gauge3Thread = new HandlerThread("Gauge3DemoThread");
    gauge3Thread.start();
    Handler gauge3Handler = new Handler(gauge3Thread.getLooper());
    gauge3Handler.post(new Runnable() {
        @Override
        public void run() {
            for (float x = 0; x <= 6; x += .1) {
                float value = (float) Math.atan(x) * 20;
                gauge3.moveToValue(value);
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    });

    gauge4.setValue(333);


Answer 6:

在这个网站上,你会发现一些自由定制的仪表。

ScComponents

安装十分方便,有据可查。 例如,你可以有下面的指令之后自由这样的事情在5分钟内。

走在上面链接的网站上。 点击GR004和弹出窗口出现后,点击“免费下载”。 该库下载,解压缩,并按照说明安装Android项目库里面(AAR文件)的指示。

在你的XML布局编写代码,你的仪器会做:

<com.sccomponents.gauges.gr004.GR004
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

你有很多XML选项来定制它:

  • sccAnimDuration
  • sccEnableTouch
  • sccInverted
  • sccFontName
  • sccLabelsSizeAdjust
  • sccMajorTicks
  • sccMaxValue
  • sccMinorTicks
  • sccMinValue
  • sccShowContour
  • sccShowLabels
  • sccText
  • sccValue

而通过编码相关功能。



文章来源: Simple gauge view like speedmeter in android?