鱼C论坛

 找回密码
 立即注册
查看: 3572|回复: 2

有会安卓的没,关于帧布局的问题

[复制链接]
发表于 2017-3-29 14:07:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 kai759630 于 2017-3-29 16:23 编辑
  1.         <FrameLayout
  2.             android:id="@+id/drawvi"
  3.             android:layout_width="320dp"
  4.             android:layout_height="260dp"
  5.             android:layout_alignParentTop="true"
  6.             android:orientation="vertical" >

  7.                <TextView
  8.                    android:id="@+id/text"
  9.                    android:layout_width="wrap_content"
  10.                    android:layout_height="20dp"
  11.                    android:text="数据统计图"
  12.                    android:textColor="#00FF00"               
  13.                />

  14. </FrameLayout>       
复制代码

如上代码我再布局管理添加帧布局
  1. public class myview extends View{
  2.                 public myview(Context context){
  3.                         super(context);
  4.                 }               
  5.                 protected void onDraw(Canvas canvas){
  6.                         super.onDraw(canvas);
  7.                         Paint paint=new Paint();
  8.                         paint.setAntiAlias(true);
  9.                         paint.setStrokeWidth(1);
  10.                         paint.setStyle(Style.STROKE);
  11.                         paint.setColor(Color.BLUE);
  12.                         int x=30,y=30,z=280,w=210,t=30,s=5,i=0;
  13.                         String j[]={"70℃","60℃","50℃","40℃","30℃","20℃","10℃","0"};
  14.                 //画Y轴
  15.                 canvas.drawLine(x, y, x, y+w, paint);                                                                                
  16.                 //Y轴箭头
  17.                 canvas.drawLine(x,y, x-3, y+6, paint);  //箭头
  18.                 canvas.drawLine(x,y, x+3, y+6,paint);                                                            
  19.                 //画X轴
  20.                 canvas.drawLine(x, y+w, x+z, y+w, paint);
  21.                 canvas.drawLine(x+z-6,y+w-3, x+z, y+w, paint);  //箭头
  22.                 canvas.drawLine(x+z-6,y+w+3, x+z, y+w,paint);
  23.                 for(i=1;i<7;i++){
  24.                 canvas.drawLine(x, y+i*t, x+s, y+i*t, paint);//画刻度线      
  25.                 }
  26.                 for(i=1;i<8;i++){
  27.                         canvas.drawText(j[i],x-28,y+i*t, paint);//写刻度
  28.                 }                 
  29.                 //从这里开始进行数据统计             
  30.                 Path path=new Path();
  31.                 path.moveTo(30,240);
  32.                 if(temp.size()>0)
  33.                 {               
  34.                 for(k=0;k<temp.size();k++)
  35.                 path.lineTo(x+k*5,240-3*temp.get(k));
  36.                 }
  37.                 canvas.drawPath(path,paint);//使用canvas画图
  38.                 }
  39.         }
复制代码

在主活动下添加内部类draw
  1. FrameLayout vi=(FrameLayout)findViewById(R.id.drawvi);
  2.         vi.addView(new myview(this));
复制代码

在oncreat方法下调用内部类实现画图
问题在这里!安装到手机的界面如图,为何要我手进行触摸动作它才动态画图,不触摸就停止不动了,数据来源是下位机传来的,我把它放在了arrylist(temp)里
0B5788FCBB7400C6E041466CCA992303.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-3-29 16:22:43 | 显示全部楼层
DemonRoyal 发表于 2017-3-29 15:55
没看懂问题的描述,按照你的代码,运行起来之后会画出一个折线图,你所谓的动是什么意思

已经解决了,忘了添加view.invalidate刷新机制,尴尬,我的问题是不自己刷新界面,我需要动态界面刷新
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-29 15:55:06 | 显示全部楼层
没看懂问题的描述,按照你的代码,运行起来之后会画出一个折线图,你所谓的动是什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-16 15:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表