代码改变世界

随笔分类 -  [Android学习笔记]

[Android学习笔记]View的draw过程学习

2014-04-19 18:50 by hellenism, 465 阅读, 收藏, 编辑
摘要: View从创建到显示到屏幕需要经历几个过程:measure -> layout -> drawmeasure过程:计算view所占屏幕大小layout过程:设置view在屏幕的位置draw过程:绘制view继承自view的控件的draw过程draw方法是由viewRoot对象的performTrav... 阅读全文

[Android学习笔记]view的layout过程学习

2014-04-19 16:15 by hellenism, 277 阅读, 收藏, 编辑
摘要: View从创建到显示到屏幕需要经历几个过程:measure -> layout -> drawmeasure过程:计算view所占屏幕大小layout过程:设置view在屏幕的位置draw过程:绘制view继承自view的控件的layout过程layout过程相对measure过程比较简单,其作用是... 阅读全文

[Android学习笔记]View的measure过程学习

2014-04-18 17:34 by hellenism, 2311 阅读, 收藏, 编辑
摘要: View从创建到显示到屏幕需要经历几个过程:measure -> layout -> drawmeasure过程:计算view所占屏幕大小layout过程:设置view在屏幕的位置draw过程:绘制view继承自view的控件的measure过程view.measure(int,int)方法有什么作... 阅读全文

[Android学习笔记]自定义控件的使用

2014-04-18 01:20 by hellenism, 623 阅读, 收藏, 编辑
摘要: 自定义控件时,最好抽象得彻底,并且编写需严谨,因为可能程序中多处都会引用到它,或者提供给团队中的其他人使用。其一般步骤为:1.创建控件的类文件,定义其功能逻辑。一般继承自现有控件或者View2.在res/values目录下创建attrs.xml文件,用于定义该控件的xml标签属性,方便在使用xml声... 阅读全文

[Android学习笔记]Android Library Project的使用

2014-04-17 17:11 by hellenism, 149 阅读, 收藏, 编辑
摘要: RThttp://developer.android.com/tools/projects/index.html 阅读全文

[Android学习笔记]startActivityForResult和onActivityResult的使用

2014-04-17 16:07 by hellenism, 380 阅读, 收藏, 编辑
摘要: 发开过程中,免不了多个页面之间相互交互通信。Android中使用startActivityForResult方法和onActivityResult配合完成任务startActivityForResult方法:public void startActivityForResult (Intent int... 阅读全文

[Android学习]Activity之间传递对象和对象集合

2014-04-15 14:41 by hellenism, 4996 阅读, 收藏, 编辑
摘要: 开发过程中,Activity之间传递数据是必不可少的,android中使用Intent和Bundle作为数据载体,在Activity之间传递,对于基础数据类型,Bundle已经提供相关的put,get方法,而作为自定义的类型则需要有特别的要求.自定义类型,想要使用Bundle传递时,需要满足特定条件... 阅读全文

[Android学习笔记]组合控件的使用

2014-04-14 14:00 by hellenism, 195 阅读, 收藏, 编辑
摘要: 组合控件的使用开发过程中,多个UI控件需要协同工作,相互交互之后,才可完成一个完整的业务需求,此时可把这些控件封装成为一个整体,相互之间的交互逻辑封装其中,外部调用可无需关心内部逻辑,只需获取处理后的结果即可创建组合控件步骤如下:1.创建xml布局,定义组合控件的外观2.定义组合控件类,此类一般继承... 阅读全文

[Android学习笔记]LayoutInflater的使用

2014-04-14 13:45 by hellenism, 136 阅读, 收藏, 编辑
摘要: LayoutInflater用于动态载入布局,然后获取到布局中定义完成的控件引用常在动态加载布局,和Adapter中用到使用步骤:1.通过LayoutInflater加载xml布局文件2.从载入的View中获取引用ex:不需要具体例子,需要用到的时候,自然会想起只有它能满足需求View view =... 阅读全文

[Android学习笔记]LayoutParams的使用

2014-04-11 17:54 by hellenism, 1192 阅读, 收藏, 编辑
摘要: LayoutParams的使用:什么时候会用到此对象?动态布局,动态向ViewGroup中添加子view时,为子view设置此对象,目的是告诉父容器以何种方式呈现此子viewLayoutParams对象用于设置子view在父容器中的布局信息,一般用于设置子view的填充形式,停靠形式常用二种构造形式... 阅读全文

[Android学习笔记]捕获物理回退事件

2014-04-10 15:56 by hellenism, 317 阅读, 收藏, 编辑
摘要: 物理回退按钮默认情况下是finish当前activity,返回上一个activity当需要获取物理回退按钮的相应事件时候,可以这么做步骤如下:1.override当前activity的onKeyDown方法2.判断是否为回退操作3.根据需求添加代码@Override public boolean onKeyDown(int keyCode,KeyEvent event) { // 如果是物理返回按键 if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { // Do you w... 阅读全文

[Android学习笔记]RelativeLayout的使用

2014-04-10 01:02 by hellenism, 461 阅读, 收藏, 编辑
摘要: RelativeLayout是相对布局控件,在屏幕适配的时候非常有用,在此记录一些它的常用属性第一类:属性值为true或falseandroid:layout_centerHrizontal 水平居中android:layout_centerVertical 垂直居中android:layout_centerInparent 相对于父元素居中android:layout_alignParentBottom 位于父元素的最下边android:layout_alignParentLeft 位于父元素的最左边android:layout_alignParen... 阅读全文

[Android学习笔记]EditText的使用

2014-04-10 00:49 by hellenism, 324 阅读, 收藏, 编辑
摘要: EditText就是我们最常用的文本输入框常用属性见官方文档主要是以下几个问题:1.取消默认获取焦点Activity启动时候会把焦点默认停留在第一个EditText控件上一般的解决方法是在此EditeText之前加入一个看不到的控件,让其先于EditText获取焦点加入一个看不到LinearLayout控件 LinearLayout2.修改EditeText样式一般步骤为:a).res/drawable文件夹下建立editeText需要的外观样式b).定义selector,引用样式默认样式bg_edittext_normal.xml ... 阅读全文

[Android学习笔记]ShareSDK的使用

2014-04-09 17:31 by hellenism, 419 阅读, 收藏, 编辑
摘要: ShareSDK使用方便,集成简单,正式客户端开发人员的首选组件集成步骤,使用说明见官方文档:http://wiki.sharesdk.cn/Android_快速集成指南记录:直接使用官方Demo中Demopage里的ShowShare方法,拷贝过来直接使用,方便快捷需要注意的几个地:1.使用一切有关ShareSDK的相关方法时候,记得要调用initSDK方法ex:ShareSDK.initSDK(this);2.如果客户端有多用户的概念,记得在更换用户时,清除ShareSDK中保存的验证信息ex:Platform qzone=ShareSDK.getPlatform(this, QZone. 阅读全文

[Android]获取设备相关信息

2014-04-05 13:56 by hellenism, 133 阅读, 收藏, 编辑
摘要: public static int screenWidth(Activity activity) { DisplayMetrics dm = new DisplayMetrics(); activity.getWindowManager().getDefaultDisplay().getMetrics(dm); return dm.widthPixels; } public static int screenHeight(Activity activity) { DisplayMetrics dm = ne... 阅读全文

[Android学习笔记]SeekBar的使用

2014-04-03 17:23 by hellenism, 482 阅读, 收藏, 编辑
摘要: 一.SeekBar滑动条的使用xml声明: xml声明主要事件监听:OnSeekBarChangeListener @Override public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) { // TODO Auto-generated method stub // 当Progress发生变化时触发 } @Override public void onStartTrackingTouch(SeekBar arg0) { // TODO... 阅读全文

[Android学习笔记]ScrollView的使用

2014-04-03 16:36 by hellenism, 184 阅读, 收藏, 编辑
摘要: 竖直滚动使用ScrollView 水平滚动使用HorizontalScrollView如果需要禁止ScrollView的滚动,则需要扩展ScrollView类,重写onTouchEvent方法. 阅读全文

[Android学习笔记]jackson库的使用

2014-04-03 15:15 by hellenism, 1811 阅读, 收藏, 编辑
摘要: Jackson库一般用于序列化和反序列化操作,通常会涉及到的操作是:1. Java Object -> Json String2. Java Object -> Xml String3. Json String -> Java Object4. Xml String -> Java ObjectJS... 阅读全文

[Android学习笔记]some tips

2014-04-03 15:13 by hellenism, 164 阅读, 收藏, 编辑
摘要: 集合合并去重:listA.removeAll(listB);listA.addAll(listB);android:singleLine="true"//单行显示android:ellipsize="end"//省略号出现在末尾 阅读全文

[Android学习笔记]使用getIdentifier()获取资源Id

2014-04-02 21:38 by hellenism, 386 阅读, 收藏, 编辑
摘要: 使用getIdentifier()获取资源IdAndroid中可以使用getIdentifier()获取资源IDex:根据图片名称获取图片Id private int getImageResId(String imageName) { int resID = getReso... 阅读全文