b2c信息网

您现在的位置是:首页 > 热点问题 > 正文

热点问题

android仪表盘源码(安卓表盘开发)

hacker2022-06-14 16:03:21热点问题34
本文目录一览:1、android仪表盘怎么去掉刻度

本文目录一览:

android 仪表盘怎么去掉刻度

这个不符合要求,老大要求自己画,

oh,my god,这个超浪费时间,再说了做项目哪有这么多时间给你自定义控件额,

于是乎为了偷懒,在网上找了很久代码,发现找到了这样的仪表盘,

哦,丑的一逼,没办法了,都打算自己手动画了,谁知道在这时找到个第三方的库 ,使用简单,画面优美,瞬间觉得有爱了

我把代码贴出来,估计谁看谁喜欢,这个库封装的太彻底了,

MainActivity.java

文件代码:

DialChart05View chart5 = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.fragment_main);chart5 = (DialChart05View) findViewById(R.id.circle_view2);final Button button = (Button) findViewById(R.id.button1);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {int max = 100;int min = 1;Random random = new Random();int p = random.nextInt(max) % (max - min + 1) + min;float pf = p / 100f;chart5.setCurrentStatus(pf);chart5.invalidate();}});}

}

fragment_main.xml

布局文件代码:

LinearLayout xmlns:android="" xmlns:tools="" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" com.example.testybp.weight.DialChart05View android:id="@+id/circle_view2" android:layout_width="260dip" android:layout_height="260dip" android:layout_gravity="center_vertical" / Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Random" //LinearLayout

问一个android开发问题,汽车仪表盘,希望大神帮帮忙,指点一番!!

你这是空指针异常吧?

dialView又没有初始化,肯定是null了。

至少初始化一下吧

dialView = new DialView(XXX xx);

小弟想用android在手机上做这样的一个仪表盘的效果

使用onDraw()方法,表盘用canvas.drawCircle画,或者干脆用背景,指针用path画,每输入一次,重绘一次。

android中这样的曲线要怎么绘制

绘制曲线图首先需要画好横竖坐标轴建立坐标系,比如坐标系中的100距离应该在canvas中绘制多长,这个是需要计算的,其实坐标体系的建立是最复杂的,我看过很多第三方库的建立方法都不一样,有的要灵活一些,有的比较死板。至于绘制曲线要么是用Canvas.drawLine方法,要么是用Path.lineTo方法,看你自己的习惯。

为了做出一个外观良好的曲线图,我参考了两个开源代码,第一个的曲线图绘制限制较多,使用范围太窄,但是有数据变化时的动画效果。第二个的适用范围很广,他能根据数据集合自动计算横纵坐标的个数,在canvas上单元格的距离,只需输入坐标点就能自动建立坐标体系绘制曲线,但是没有动画效果。

先讲第一个LineView。

LineView的demo可以在这里下载,lineview其实只是github项目的一部分,我是将其提取出来了的,个人觉得他的其他部分没有参考价值。作者好像是个韩国人。

LineView的曲线绘制没有什么可取的部分,我想学习的是他实现动画效果的方法,设计的很好,但具体实现还需要改进,让动画更流畅。

Lineview的调用方法:

在xml中添加lineview控件

HorizontalScrollView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:id="@+id/horizontalScrollView"

android:layout_alignParentRight="true"

android:layout_above="@+id/line_button"

view

android:layout_width="wrap_content"

android:layout_height="200dp"

class="c93e-43ec-2fb2-7352 com.example.widget.LineView"

android:id="@+id/line_view"/

/HorizontalScrollView

在activity代码中获取lineview对象:

finalLineView lineView = (LineView)findViewById(R.id.line_view);

添加横坐标:

int randomint = 9;

ArrayListStringtest =newArrayListString();

for (int i=0;irandomint; i++){

test.add(String.valueOf(i+1));

}

lineView.setBottomTextList(test);

允许绘制坐标点:

lineView.setDrawDotLine(true);

lineView.setShowPopup(LineView.SHOW_POPUPS_NONE);

ArrayListInteger dataList = newArrayListInteger();

intrandom = (int)(Math.random()*9+1);

for (int i=0;irandomint; i++){

dataList.add((int)(Math.random()*random));

}

添加纵坐标的值:

ArrayListArrayListIntegerdataLists = newArrayListArrayListInteger();

dataLists.add(dataList);

lineView.setDataList(dataLists);

从其用法中可以看出,lineview需要提前设定横坐标的范围,而且纵坐标的值必须和lineView.setBottomTextList(test)中添加的值一一对应(读lineview源码可以知道),使用起来很不方便,我觉得作者仅仅是做出了一条曲线而已,而不太关注是否有用。和很多曲线图的开源代码一样lineview允许一次绘制几根颜色不同的曲线。

只需在上面的代码中为dataLists再添加一个list成员就行。

Android动态仪表盘界面设计,就是界面是一个仪表盘的样式,然后有指针的界面

主题我已选定,构思大纲已经几乎完成,现在需要帮你填好信息.

发表评论

评论列表

  • 痛言只酷(2022-06-14 20:17:30)回复取消回复

    lChart05View chart5 = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {sup