这是第一次在优快云上写博客,如果有什么不足请大家提出来,本文讲的都是基础知识,引用了很多不错的博客。
前言
最开始接触Android开发是在两年前了,那时候刚学完Java的基础知识,因为参加了学校的一个比赛,所以自己学习了Android。
刚开始还是基础理论的学习比较重要,学习了构成一个apk的基础知识之后最重要的就是亲身实践了,多写代码才能有收获。
布局
从最开始的XML界面设计,基础的布局,最常见的四个就是FrameLayout,LinearLayout,RelativeLayout,AbsoluteLayout,TableLayout,而其中LinearLayout,RelativeLayout是最常见的。
Android系统五大布局详解Layout
Android开发学习笔记:5大布局方式详解
LinearLayout是常用的布局之一,大多数简单的布局都可以用它来实现,它最大的优点就是可以使用权重(weight)控制控件所占的比重。
RelativeLayout是一个很灵活也很常用的布局格式,很多复杂的布局都可以用RelativeLayout来实现。
其他布局就不是很常用了,大家需要的话自行搜索吧。
Activity生命周期
Activity是Android中最常用的部分,我们的界面内容都是放在它们里面展示的,现在为了适配和更好的控制界面,开始使用Fragment进行界面的展示,也可以更好的在平板等设备上显示。Activity和Fragment最重要也是最难理解的部分就是它的生命周期,这里放上一篇讲解很不错的文章链接
两分钟彻底让你明白Android Activity生命周期(图文)!
常用控件
学过Java界面开发的都知道,界面是在一个容器里加上各种各样的组件,Android中界面的开发也是类似的思路,而其中最常用的是TextView,ImageView以及EditText,Button,ImageButton,ListView等等,另外一些常用控件包括Dialog,PopupWindow等。
TextView简介
TextView 主要是进行文字的展示,其中有一些使用上的技巧,和注意事项
TextView之一:子类的常用属性
TextView之二:常用属性
有时候我们可能还需要在文字中加上图片等作为标志用,而这样设置的Drawable常常会比较难看
Android布局技巧:使用TextView的drawable属性
ImageView简介
ImageView主要作为图片展示用,其实任何Drawable格式的图片都可以使用ImageView展示,另外还可以进行旋转和缩放等功能,这里有介绍ImageView的一篇文章
由于图片占用内存比较大,ImageView如果使用不当很容易导致OOM问题,需要注意的问题有
android中ImageView的内存问题
Android 内存溢出解决方案(OOM) 整理总结
解决方案主要是弱引用和及时回收图片资源文件。
EditText简介
EditText主要是进行文字内容的输入,它是TextView的直接子类,有一些属性是直接继承的,还有一些是在使用时需要用到的,比如限制输入类型等。
如果不喜欢Android本身的背景框,就直接在布局文件中设置background=”null”。
Button和ImageButton简介
Button主要是作为确认按钮等,按钮上可以加上文字,而且可设置点击效果,背景图设置方法可用在很多控件上。为了显示点击效果用。
如果有需要在按钮上加图片的话,也可以使用ImageButton。
若图片和文字都需要的话,可以自己进行修改
【自定义Android带图片和文字的ImageButton】
ListView简介
ListView可以作为一类控件的代表,类似的还有GridView,这类View都是继承自AdapterView,作为一个列表项,每个都作为一个item,格式都是一样的,但是内容是不同的,最常见的就是在新闻类应用上展示新闻列表使用。现在又出现了RecyclerView,性能等各方面都进行了优化,而且可以很方便的在ListView和GridView之间进行切换,还可以进行瀑布流式展示。
Android用户界面 UI组件–AdapterView及其子类(一) ListView及各种Adapter详解
Adapter需要注意的地方也有很多,最简单的是ArrayAdapter,简单的展示文字内容,还有专门方便展示从数据库拿出来的数据的SimpleCursorAdapter等等
新秀RecyclerView简介
RecyclerView作为一颗新秀现在越来越受欢迎
RecyclerView使用详解(一)
RecyclerView使用详解(二)
RecyclerView使用详解(三)
PopupWindow,Toast,Dialog简介
其他的控件如PopupWindow,Toast,Dialog等都是不需要写在布局文件中,而是在代码中使用时进行添加的。
PopupWindow的使用场景还是很多的,比如QQ6.3版本上点击右上角的加号弹出的就是PopupWindow。在实际的开发中我们可能会写一个基类作为整个应用中全部PopupWindow的基础,进行一些基本的宽高和点击回调的设置。具体的再继承自这个基类。
Toast用于向用户显示一些帮助/提示,但是很多时候效果并不明显,需要进行一些改造。(我经常在开发中作为判断数据是否正确返回等,作为一种显式log用)。
android Toast大全(五种情形)建立属于你自己的Toast
Dialog在前端也有,功能也有类似之处,不过Android本身自带的Dialog样式都非常丑,所以很多时候我们都需要自己写布局文件。
7种形式的Android Dialog使用举例
Android自定义对话框实现QQ退出界面
Dialog使用时需要注意的是dismiss和cancel方法,dismiss是在需要讲Dialog隐藏起来的地方调用,比如CancelClickListener里面,但是cancel是在将Dialog销毁的时候调用的,在使用的时候如果Dialog作为Activity的成员变量,都会在onDestroy方法里写上cancel方法,这种多用于ProgressDialog。