毕设遇到的问题(三)——自定义view

毕设已经处于收工阶段了,现在的主要任务就是优化一下数据统计功能了。

为了直观的表示我的课程表应用中的签到记录功能,最好的方式莫过于坐标图,横轴表示周,纵轴表示签到次数。这样若是学霸类型的童鞋,他们的签到记录表示在坐标图中定是一条水平的柱状图,而学弱呢,可能就是起起伏伏了。

如下图,直接拿的测试签到数据做的一张坐标图。

其中20表示周数,纵坐标的3表示一周一共3次课。哈哈,看来这个是学弱了。。。

这其中引用了是一个github上的开源项目,https://github.com/Kusand/GraphView 这个人的项目是fork了https://github.com/jjoe64/GraphView 此人的项目,添加了我找了好久的xml支持。开始引用的是jjoe64的项目,在他的view类中没有定义(Context context,AttributeSet atts)的一个构造函数,而在xml想要引用某个view类的话该view类中必须定义这么一个构造函数,自己fork的话没接触过怕耗时间,所以又search了一阵子,在issue中找到了kusand的项目,很顺利的完成了xml引用。然而在kusand的sample中有这么一些xml文件,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:app="http://schemas.android.com/apk/res-auto"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent">
    <com.kusand.graphview.LineGraphView
            android:id="@+id/sample_line_graph"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:horizontalLabelColor="#FF0000"
            app:verticalLabelColor="#0000FF"
            app:verticalLabelTextSize="4sp"
            app:titleColor="#00FF00"
            />
</LinearLayout>

 

这段代码引用了library中的类的属性,这样就可以在布局文件中设定color等属性(以前接触过,当时没太注意,看到这又想起来),但是这地方确实很头疼,因为在他的sample项目中library不是通过导入jar而是引用library的,这可能是导致为什么在我的项目中xmlns:app的写法行不通,尝试xmlns:app="http://schemas.android.com/apk/res/com.kusand.griphview" 以及各种其他写法(能尝试的都尝试过了),虽然下面的app:属性引用并不报错,但是运行之后可以看出此处的属性设置并没有作用。依旧Google,但是似乎大家没这么用过,也有可能是我的关键字的问题,但没有找到问题的解决方案,而默认的颜色设置是white,我的项目风格从上面可以看出是holo.light,所以看不出字来。似乎没有办法了,直接把源码里的color设置改了,再添加一个方法用来修改color。。。很笨的方案,然后再生产jar导入我的项目,问题解决了,终于又轻松了些。但是从截图中可以看到柱状图和线有些偏移,暂时估计这是那个开源项目的问题,以后有空再研究吧。

在这我顺便感慨一下国内的一些学习环境,咋stackoverflow我提个问有可能会被close(被close了两次,‘it's not a real question’),也有可能很快就有大神过来给你解答,有时候有些生涩的词汇不懂啥意思,但是他们的热情解答让你不得不看懂他说的是啥,看懂后问题可能就解决了。但是在国内,虽然说建立了各种开发群,但是没有人会为你热心解答,这跟qq群的性质有那么些关系,同样也没有一个便捷的开发者问答平台(似乎有个叫德问,在探索中),着实挺可悲的。这英语的重要性由此可知了,有时候会跟朋友感慨,说象形文字必定会被淘汰,因为效率低,一切事物最终的发展应该是往抽象的,像计算机语言不也是这么发展过来的么?还好中国的四大发明不包括计算机……要是这样如今的互联网的发展可能就没有这么飞快了。

posted @ 2013-06-09 22:49  404NOTFOUND  阅读(350)  评论(0编辑  收藏  举报