Android应用界面开发-控件+布局 笔记
来源:互联网 发布:电脑上解压缩软件 编辑:程序博客网 时间:2024/05/18 17:01
Mostly used view
Web View
List View:显示列表-微信中的tabs
Grid View:比如表情图列表
Scroll View
Surface View :非UI线程,如在游戏中做一些耗时的操作
控件之间的布局
新建Layout 名字全都小写
xmlns xml name space //还可以自定义空间
LineanerLayout:horizontal or Vertical,排列组合顺序即text里控件的顺序 weightsum, weight比重,用来分配比例
RelativeLayout:align 不同对齐用法;一个页面里不同button可叠加,后面的覆盖前面的。align 相对于其他控件来布局,用@+id/view_name
margin 是外边距;padding 是内边距
FrameLayout
AbsoluteLayout 要适应不同屏幕,不用
TableLayout //表格布局,做表格时会用到
Activity 生命周期
1. onCreate () // 完成初始化操作
2. onStart() // 活动由不可见变为可见的时候调用
3. onResume() // 活动准备好和用户进行交互的时候进行调用,此时活动位于返回栈最顶端,处于运行状态
4. onPause() // 系统准备去启动或恢复另一活动时调用。将一些消耗CPU的资源释放掉,保存一些关键数据 *这个方法的执行速度一定要快,不然会影响新的栈顶活动的使用
5. onStop() // 活动完全不可见时调用。区别onPause() 如果启用的新活动是一个对话框式的活动,那么onPause()会执行,而onStop()不会
6. onDestroy() // 被销毁前调用,之后活动状态将变为销毁状态
7. onRestart //
1-6 完整生存期
2-5 可见生存期
3-4 前台生存期
ListView
ListView 让客户可以通过滑动,将页面外的数据展现出来
ListView 用于展示大量的数据。数据需要借助Adapter适配器来完成
ArrayAdapter
以第一行代码里的示例:
@Override
public View getView(int position, View convertView, ViewGroup parent) { //用于传递上下文,ListView 子项布局的id和数据
//重写getView,这个方法在每个子项被滚动到屏幕内的时候会被调用
Fruit fruit = getItem(position); // 获取当前项的Fruit实例
View view = LayoutInflater.from(getContext()).inflate(resourceId, null); // LayoutInflater 位这个子项加载传入的布局
ImageView fruitImage = (ImageView) view.findViewById(R.id.fruit_image);
TextView fruitName = (TextView) view.findViewById(R.id.fruit_name);
fruitImage.setImageResource(fruit.getImageId()); //设置显示的文字和图片
fruitName.setText(fruit.getName());
return view; //返回布局
// 自定义的适配器完成
}
-->> 回到MainActivity
添加方法初始化数据,在构造函数中传入对应文字和图片,然后把创建好的对象添加到列表中在onCreate() 创建adapter对象,并将其作为适配器传递给ListView,完成定制ListView界面
提升运行效率:convertView--用于将之前加载好的布局进行缓存,以便之后可以进行重用。
新增内部类ViewHolder, 用于对控件实例进行缓存,当convertView 为空的时候,创建一个ViewHolder 对象,并将控件的实例都存放在ViewHolder 里,然后调用View
的setTag()方法,将ViewHolder 对象存储在View 中。当convertView 不为空的时候则调用View 的getTag()方法,把ViewHolder 重新取出。这样所有控件的实例都缓存在了ViewHolder里,就没有必要每次都通过findViewById()方法来获取控件实例了。
ListView 点击事件:setOnItemClickListener()
ListView部分参考《第一行代码》
= = ||| 这周学的我要狗带了,滚回去补习Java。。。
- Android应用界面开发-控件+布局 笔记
- Android开发之应用界面布局Layout
- Android 应用界面开发笔记
- android界面开发小结——android笔记---控件和布局
- Android笔记---- Android应用的界面开发(1)View和布局管理器
- Android应用界面布局
- Android笔记---- Android应用界面开发(3)
- Android 应用界面开发笔记 自定义控件与Handler -待更新
- Android 应用界面开发笔记 Service
- android应用开发笔记---Activity布局
- android应用开发笔记---常用控件使用方法
- Android 应用界面开发之基本控件学习总结
- Android笔记---- Android应用界面开发(2)
- Android-开发笔记-005_布局与ListView控件
- Android布局整合include界面控件
- Android布局整合include界面控件
- Android布局整合include界面控件
- Android布局整合include界面控件
- 解决java compiler level does not match the version of the installed java project facet
- 百练 4080:Huffman编码树
- poj 2031 Building a Space Station
- xcode7.2网盘分流地址
- 153. Find Minimum in Rotated Sorted Array
- Android应用界面开发-控件+布局 笔记
- DE 32: Limit Cycles
- VLC使用DMB-TH电视卡看免费节目
- 请不要做浮躁的人----(学习编程的忠告)
- UESTC - 1253 阿里巴巴和n个大盗 (博弈)
- 希尔排序
- hihocoder-建造基地(完全背包)
- qt for 安卓
- 数据结构之简要介绍C语言