首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android开发笔记(六十七)嵌入页面的碎片

Android从3.0之后引入了Fragment,可以把它理解为页面的一个片段,比如一个html网页就包含一个header头部片段,以及一个body身体片段。 设计Fragment的目的是让页面布局更加灵活,不但可以随意组装和拼接各个片段,还可以只更新某个片段实现页面局部更新的功能(这个类似网页的ajax技术)。Fragment可以协助我们完成如下任务: 1、在一个页面中嵌入多个连续可翻页的子视图,方面使用ViewPager统一管理; 2、开发一些通用的小部件,内部封装好代码逻辑,可直接嵌入到任意页面。比如广告、地图等组件; 3、同一套代码可适配不同尺寸的屏幕,比如说同时适配竖屏与横屏,同时适配手机与平板等等;

06

Android开发笔记(三十九)Activity的生命周期

下面是Activity类与生命周期有关的方法: onCreate : 创建页面 onStart : 开始页面 onStop : 停止页面 onResume : 恢复页面 onPause : 暂停页面 onDestroy : 销毁页面 onRestart : 重启页面 onNewIntent : 重用栈中已存在的实例 onSaveInstanceState : 保存实例状态。使用场景:1、从A视图跳转到B视图,需要保存A视图的状态(不考虑特殊情况);2、屏幕从竖屏变为横屏,需要保存竖屏时的视图状态,从横屏变为竖屏亦然;3、当前Activity处于后台,系统因资源紧张将其杀死。 onRestoreInstanceState : 恢复实例状态。使用场景:1、屏幕从竖屏变为横屏,横屏显示时需要恢复之前保存的竖屏状态;2、activity后台运行被系统杀死。此处注意,从B视图返回A视图时并不调用该方法。 最简单的页面启动顺序:onCreate->onStart->onResume 最简单的页面退出顺序:onPause->onStop->onDestroy

04

Android开发笔记(一百三十八)文本输入布局TextInputLayout

TextInputLayout是MaterialDesign库中对编辑框EditText进行增强的一个控件。众所周知,EditText未输入字符时,我们可以给它显示默认的提示文字hint;可是一旦输入字符,这个hint提示就消失了,虽然没有提示也没有什么大碍,但有总比没有好呀。TextInputLayout便是用来解决提示文字的显示问题,它默认把提示文字显示在编辑框的上方,这样在编辑框内输入文字,就不影响上方的提示文字了。 代码中使用TextInputLayout要进行以下改造: 1、添加几个库的支持,包括design库(TextInputLayout需要)、appcompat-v7库(AppCompatActivity); 2、编辑框所在页面的Activity需要继承自AppCompatActivity,否则运行时打开页面会报错; 3、布局文件中在TextInputLayout节点下面加入EditText控件,必须并且只能加入一个EditText; 下面是TextInputLayout新增的方法说明: setHint : 设置提示文字的内容。 setHintEnabled : 设置提示文字是否可用。 setHintTextAppearance : 设置提示文字的风格。 setHintAnimationEnabled : 设置提示文字的展示动画是否可用。 setError : 设置错误文字的内容。 setErrorEnabled : 设置错误文字是否可用。 setCounterEnabled : 设置文字计数器是否可用。 setCounterMaxLength : 设置文字计数器的最大长度。 从以上方法可以看到,TextInputLayout增加的界面元素主要是三个,分别是位于编辑框左上角的提示文字、位于编辑框左下角的错误文字、位于编辑框右下角的文字计数器。具体的文本输入布局效果如见下:

03

Android开发笔记(八十一)屏幕规格适配

适配各种屏幕规格,首先要取到系统对于屏幕的配置信息,这些配置可从工具类Configuration获得。Configuration对象在Activity中通过调用getResources().getConfiguration()得到,该对象的常用属性说明如下: touchscreen : 屏幕触摸方式。有下列几种取值定义:"未定义", "不支持触摸", "专用笔触摸", "支持手指触摸" keyboard : 物理键盘样式。有下列几种取值定义:"未定义", "无物理键盘", "全键盘", "十二格键盘" keyboardHidden : 键盘状态。有下列几种取值定义:"未定义", "未隐藏或软键盘", "已隐藏", "软键盘" hardKeyboardHidden : 物理键盘状态。有下列几种取值定义:"未定义", "未隐藏", "已隐藏" navigation : 方向控制样式。有下列几种取值定义:"未定义", "无方向控制", "方向键", "轨迹球", "滚轮" navigationHidden : 方向控制状态。有下列几种取值定义:"未定义", "未隐藏", "已隐藏" orientation : 屏幕方向。有下列几种取值定义:"未定义", "竖屏", "横屏" 以上属性除了屏幕方向是有用的,其他的基本没什么用。 如果属性发生变化,可重写onConfigurationChanged函数监测最新的属性值。但是由屏幕旋转导致的屏幕方向变化,按照生命周期走的是原方向onDestroy然后新方向onCreate,并不触发onConfigurationChanged方法,所以该方法基本也没机会用到。

03
领券