A. android 绘图
这个建议你搜索AChartEngine,这个是专门做报表的。给你一个参考地址
http://blog.csdn.net/lk_blog/article/details/7645668
这个页面中的第一个示例折线图就是一个温度的曲线图,具体我没过多研究,你可以试试。
B. Android的UI底层是用CPU绘图的还是GPU绘图的呢
安卓有2种绘制模型:
一,软件绘制模型,这里由CPU主导绘图,视图按照以下2个步骤绘图。
让视图结构(view hierarchy)失效。
绘制整个视图结构。
当应用程序需要更新它的部分UI时,都会调用内容发生改变的View对象的invalidate()方法。无效(invalidation)消息请求会在View对象层次结构中传递,以便计算出需要重绘的屏幕区域(脏区)。然后,Android系统会在View层次结构中绘制所有的跟脏区相交的区域。
但是,这种方法有两个缺点:
1. 绘制了不需要重绘的视图(与脏区域相交的区域)
2. 掩盖了一些应用的bug(由于会重绘与脏区域相交的区域)
注意:在View对象的属性发生变化时,如背景色或TextView对象中的文本等,Android系统会自动的调用该View对象的invalidate()方法。
二,硬件加速绘制模型,这里由GPU主导绘图,视图按照以下3个步骤绘图。
让视图结构失效。
记录和更新显示列表(Display List)。
绘制显示列表。
这种模式下,Android系统依然会使用invalidate()方法和draw()方法来请求屏幕更新和展现View对象。但Android系统并不是立即执行绘制命令,而是首先把这些View的绘制函数作为绘制指令记录一个显示列表中,然后再读取显示列表中的绘制指令调用OpenGL相关函数完成实际绘制。另一个优化是,Android系统只需要针对由invalidate()方法调用所标记的View对象的脏区进行记录和更新显示列表。没有失效的View对象就简单重用先前显示列表记录的绘制指令来进行简单的重绘工作。
使用显示列表的目的是,把视图的各种绘制函数翻译成绘制指令保存起来,对于没有发生改变的视图把原先保存的操作指令重新读取出来重放一次就可以了,提高了视图的显示速度。而对于需要重绘的View,则更新显示列表,然后再调用OpenGL完成绘制。
在这种绘制模型下,我们不能依赖一个视图与脏区(dirty region)相交而导致它的draw()方法被自动调用,所以必须要手动调用该视图的invalidate()方法去更新显示列表。如果忘记这么做可能导致视图在改变后不会发生变化。
硬件加速提高了Android系统显示和刷新的速度,但它也不是万能的,它有三个缺陷:
1. 兼容性(部分绘制函数不支持或不完全硬件加速)
2. 内存消耗(OpenGL API调用就会占用8MB,而实际上会占用更多内存)
3. 电量消耗(GPU耗电)
C. 手机上有什么好的安卓绘图软件适合画图
机上有什么好的安卓绘图软件适合画图?
主要用来画一些函数图像,要求软件最好
D. android怎么用canvas画图
使用BitmapDrawable (InputStream is)构造一个BitmapDrawable;
使用BitmapDrawable类的getBitmap()获取得到位图;
// 读取InputStream并得到位图
InputStream is=res.openRawResource(R.drawable.pic180);
BitmapDrawable bmpDraw=new BitmapDrawable(is);
Bitmap bmp=bmpDraw.getBitmap();
E. 请问好用的安卓绘图软件有哪些
安卓绘图软件SBM,这个软件我用过,比较好。我虽然不知道有没有更好的,不过这个软件基本上已经满足了我绘画的要求。
这个软件有中文版,另外,我的HTC
G13低版本的可以用,高版本的就不行,应该是我手机配置低了。
F. android是否可以以画图的形式将图片画在某位置
可以。
1、在View的onDraw中获取canvas
java">@Override
protectedvoidonDraw(Canvascanvas){//onDraw中获取参数中的canvas
//TODOAuto-generatedmethodstub
super.onDraw(canvas);
}
2、获取图片,转化为Bitmap对象
//从资源文件中生成位图bitmap
Bitmapbitmap=BitmapFactory.decodeResource(getResources(),R.drawable.icon);
3、通过canvas的drawbitmap方法,把图片画到任意位置。
//Bitmap:图片对象,left:偏移左边的位置,top:偏移顶部的位置
//rawBitmap(Bitmapbitmap,floatleft,floattop,Paintpaint)
canvas.drawBitmap(bitmap,10,60,paint);//在10,60处开始绘制图片
G. 如何在android画分析图(例如 柱状图、趋势图、饼图)
目前android上图标引擎并不少见,像aChartEngine就能很好的完成绘图:
aChartEngine支持:1、linechart(折线图)2、areachart(面积图;分区图,对比图)3、scatterchart(散点图)4、timechart(时间图;进度表)5、barchart(条形图;柱状图)6、piechart(饼图)7、bubblechart(气泡图)8、doughnutchart(圆环图)9、range(high-low)barchart(范围条形图)10、dialchart/gauge(拨号盘/压力表)11、combined(anycombinationofline,cubicline,scatter,bar,rangebar,bubble)chart(组合图)12、cubiclinechart(立方折线图)
上述所有支持的图表类型,都可以包含多个系列,都支持水平(默认)或垂直方式展示图表,并且支持许多其他的自定义功能。所有图表都可以建立为一个view,也可以建立为一个用于启动activity的intent.
下面是一个饼状图的源码事例:
package org.achartengine.chartdemo.demo.chart;
import org.achartengine.ChartFactory;
import org.achartengine.renderer.DefaultRenderer;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
public class BudgetPieChart extends AbstractDemoChart {
public String getName() {
return "Budget chart";
}
public String getDesc() {
return "The budget per project for this year (pie chart)";
}
public Intent execute(Context context) {
double[] values = new double[] { 12, 14, 11, 10, 19 };//饼图分层5块,每块代表的数值
int[] colors = new int[] { Color.BLUE, Color.GREEN, Color.MAGENTA, Color.YELLOW, Color.CYAN };//每块饼图的颜色
DefaultRenderer renderer = buildCategoryRenderer(colors);
renderer.setZoomButtonsVisible(true);//设置显示放大缩小按钮
renderer.setZoomEnabled(true);//设置允许放大缩小.
renderer.setChartTitleTextSize(20);//设置图表标题的文字大小
return ChartFactory.getPieChartIntent(context, buildCategoryDataset("Project budget", values),
renderer, "Budget");//构建Intent, buildCategoryDataset是调用AbstraDemoChart的构建方法.
}
}
H. android:如何用canvas在自定义view里画图
将构造函数改成这个试试
public iniView01(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
本人在写的时候也遇到过代码没问题,但是一到虚拟机里面运行就崩了,然后将构造函数改成这个就不会了
I. Android平台上有哪些优秀的绘画App
无限绘画就是这样一个具有强大绘画功能的APP有这方面兴趣的人都是可以去使用一下的,因为这个APP不仅功能非常强大,而且下载起来也是非常的简单方便,不会有太多太复杂的东西。
J. android studio有没有画图工具
android studio软件里面并没有提供画图的工具,如果要画图的话,可以使用专业的画图软件,比如ps