Android开发小结——UI开发
来源:互联网 发布:贷款软件 编辑:程序博客网 时间:2024/05/21 10:21
一、普通UI
1、图表
Android里的图表可以使用AChartEngine绘制,但是在画柱状图时发现,通过AChartEngine现有方法无法绘制坐标轴箭头,无法去除x轴的刻度,无法更换柱状图上的字体的颜色。
所以我自己画了一个柱状图的控件,并进行了封装,使用方法如下:
GitHub地址如下:
2、自定义View添加XML属性
参考资料:http://blog.csdn.net/double2hao/article/details/52117503
第一步 在res–>values文件夹下创建一个myattrs.xml文件,如图:
第二步 在上面的xml里定义你要新增的xml属性
<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="MyStackBarChart"> <attr name="labelYText" format="string"/> <attr name="labelYPaddingLeft" format="float"/> <attr name="labelYPaddingRight" format="float"/> <attr name="labelYPaddingTop" format="float"/> <attr name="labelYPaddingBottom" format="float"/> </declare-styleable></resources>
- 第三步 将上述的xml的name关联到自定义view的构造方法
public StackBarChart(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); TypedArray typedArray = context.obtainStyledAttributes(attrs,R.styleable.MyStackBarChart); labelY1Text = typedArray.getString(R.styleable.MyStackBarChart_labelXText); labelY1PaddingLeft = typedArray.getDimensionPixelSize(R.styleable.MyStackBarChart_labelYPaddingLeft,0); lableY1PaddingRight = typedArray.getDimensionPixelSize(R.styleable.MyStackBarChart_labelYPaddingRight,0); lableY1PaddingTop = typedArray.getDimensionPixelSize(R.styleable.MyStackBarChart_labelYPaddingTop,0); lableY1PaddingBottom = typedArray.getDimensionPixelSize(R.styleable.MyStackBarChart_labelYPaddingBottom,0); initPaint(); }
- 第四步 在目标xml声明命名空间
xmlns:my_stack="http://schemas.android.com/apk/res-auto"
- 第五步 使用自定义的xml属性
注意:自己定义的属性不会代码自动补全
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:my_stack="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.weihy.mygithubproject.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" /> <com.example.weihy.mygithubproject.StackBarChart android:layout_width="match_parent" android:layout_height="match_parent" my_stack:labelYText="hello" my_stack:labelYPaddingLeft="10dp" /></LinearLayout>
二、动画
阅读全文
0 0
- Android开发小结——UI开发
- iOS开发UI篇—UITableview控件使用小结
- iOS开发UI基础—25UITableview控件使用小结
- iOS开发UI篇—UITableview控件使用小结
- iOS开发UI篇—UITableview控件使用小结
- IOS开发UI篇—UITableview控件使用小结
- Android UI开发——Action Bar
- Android UI开发——SlidingPaneLayout
- Android UI开发——Action Bar
- Android笔记——UI开发
- symbian UI开发小结(一)
- symbian UI开发小结(二)
- Android 界面—UI开发控件
- Android 界面—UI 开发控件
- Android UI 开发入门—线性布局
- Android开发小结——服务器通信
- Android UI开发第十三篇——android-viewflow
- Android UI开发第十七篇——Android Fragment实例
- 有关电脑的基本技能
- 使用Construct 2制作HTML5游戏(进阶篇)
- HDU 1905 + POJ 1730 【快速幂】
- Linux系统的软件组成
- 两杯水交换
- Android开发小结——UI开发
- Android UI基础之ListView 和适配器Adapter
- C和指针之字符串之strlen、strcpy、 strcat、strcmp使用总结
- Android 插件化原理解析——Activity生命周期管理
- LoRaWAN终端产品的“身份证”
- HDOJ2081 手机短号
- Java中HashMap底层实现原理(JDK1.8)源码分析
- memcached入门之存储命令
- max sum