Android 应用界面开发笔记 自定义控件与Handler -待更新

本文详细介绍了Android开发中布局管理、视图定制、主题与样式应用的关键技巧与注意事项,包括使用LayoutInflater解析XML、布局属性自定义、View类的生命周期方法及如何创建和自定义视图组件,旨在帮助开发者提高开发效率和代码质量。

27th March 老师答疑更新

-关于第三周的作业

-Handler获取时间有可能会不准确,如果不停发送消息,刷新比较频繁,可能会造成堵塞,以至于时间控制不准确

Timer会更准确一些 

-不建议调用系统的图片等资源,不同版本可能位值等不一样,可能会调用不到为空



- px, dp, sp, dip 



画分割线可以用1px
dp = dip 


LayoutInflater 将xml解析为视图 
Activity继承于Context


获取布局的方式/获得LayoutInflater实例的三种方式 (xml -> view)
LayoutInflater layoutInflater = getLayoutInflater(); 
getSystemService (LAYOUT_INFLATER_SERVICE); // same as this method 
LayoutInflater.from(context); 
View view = mLayoutInflater.inlfate(R.layout.activity_main, null)  //(int resource, ViewGroup root )
addContentView(view) // 可以将视图放在很多地方
view.findViewById(R.id. 找到视图里面的任何一个控件)
--16min


提取布局属性 theme & style
Theme 针对窗体级别,改变窗体样式 (for application, activity etc. 
Style
//ctrl + o: enter class name 
//ctrl + shift + o: enter file name 


Style 可以继承,也可以override




-- Course 2
build a new view 
new a view class, exteneds view, new a constructor 


View
- initialize a constructor
-onMeasure(); decides the size
-onLayout(); the location
-onDraw(); 
-invalidate(); to refresh


fast-key: ctrl+F12, search method in current class


3 ways to customize widget 
1, extend an existing widget
2, extends from a layout file
3, extends from a view class


shift + F6: reconstruct 


做一个简单的自定义控件:15min




自定义视图的属性
-where
-what 
-how to use those attributes


build a new .xml file under "values", <declare-styleable 


    xmlns: app="http://schemas.android.com/apk/res-auto"
自定义一个命名空间


Fragment
- fragment is a part of activity


- Create Fragment
. onCreate();
. onCreateView();
. onPause();
- Add Fragment
. Java Code
. Layout
- Replace Fragment 


fragments can be used in one activity, or more 
fragment has its own life period, is a modular activity, has its own behaviors, can be added, removed, deleted 

























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值