布局和视图
文章平均质量分 86
Jennyni1122
所谓坚持,就是犹豫着、退缩着、心猿意马着,想过99次放弃,但最后你还是继续往前走了。走,就有希望!
展开
-
2.切换系统UI元素
2.1 问题你的应用程序体验需要对显示进行控制,移除各种系统修饰,例如状态栏和软件导航按钮。2.2解决方案(API Level11) 在应用程序的内容可见时,通过暂时隐藏系统UI组件,从而尽可能地提供更大的屏幕空间,可以让很多应用程序(例如阅读器或视频播放器)呈现更好的内容体验。从Android3.0开始,开发人员可以在运行是动态地调整这些属性,而不必再静态地请求窗口特性或声明主...原创 2018-09-04 09:34:49 · 293 阅读 · 0 评论 -
7.自定义AdapterView的空视图
7.1 问题要在AdapterView(ListView、GridView等诸如此类的视图)没有数据时显示自定义的视图。7.2 解决方案(API Level 1) 把要显示的视图根AdapterView放在同一布局树中,然后调用AdapterView.setEmptyView()自行处理。AdapterView会根据其中ListAdapter的isEmpty()方法的返回值选择显...原创 2018-09-11 09:44:39 · 160 阅读 · 0 评论 -
10.创建组合控件
10.1 问题需要通过组合现有的元素来创建自定义的小部件。10.2 解决方案(API Level 1) 通过扩展通用的ViewGroup并添加所需的功能就能创建自定义的小部件。创建自定义小部件或可重用用户界面元素的最简单、最实用的方法就是利用Android SDK提供的现有小部件来创建组合控件。10.3 实现机制ViewGroup及其子类LinearLayout、Re...原创 2018-09-14 08:40:20 · 189 阅读 · 0 评论 -
13.建立可扩展的集合视图
##13.1 问题希望以独特的方式展示大型数据集合,而不是以垂直滚动列表显示;或者,要以AdapterView小部件无法轻松支持的方式样式化此集合。##13.2 解决方案(API Level 1)以Android支持库中的RecyeclerView为基础构建解决方案。RecyclerView小部件利用与AdapterView组件相同的视图回收功能来提供大型数据集的高效内存使用显示方式。然而...原创 2018-09-19 08:44:42 · 119 阅读 · 0 评论 -
9.制作List View的节头部
9.1 问题需要创建一个有若干节内容的列表,其中每一节的顶部都有各自的头部。9.2 解决方案(API Level 1) 我们可以通过构建自定义列表适配器来实现此效果,此适配器利用了对多种视图类型的支持。适配器依赖getViewTypeCount()和getItemViewType()来确定将多少种视图用作列表中的行。在大多数情况下,如果所有的行类型相同,就忽略上述方法。然而,在此...原创 2018-09-13 09:08:09 · 108 阅读 · 0 评论 -
12.创建视图变换
##12.1 问题应用程序需要动态变换视图的外观,从而为视图添加一些视觉效果,例如视觉变换效果。##12.2 解决方案(API Level 1)Viewgroup中的静态变换API提供了应用视觉效果的简单方法,例如旋转、缩放、透明度变化,而且不必依靠动画。使用它也很容易使用父视图的上下文来应用变换,例如根据位置的变化而缩放。在初始化过程中调用setStaticTranformations...原创 2018-09-18 09:09:14 · 233 阅读 · 0 评论 -
5.布局变化时的动画
5.1 问题应用程序动态地添加或移除布局中的视图,希望这种变化能够以动画的形式展示出来。5.2 解决方案(API Level 11) 使用LayoutTransition对象自定义在布局中对视图结构修改后的动画效果。在Android3.0以后的版本中,只需要简单地在XML中设置android:animateLayoutChanges标识或者在Java代码中添加一个LayoutTr...原创 2018-09-07 10:18:32 · 186 阅读 · 0 评论 -
6.实现针对具体场景的布局
6.1 问题应用必须是通用的,能在各种尺寸和方向的屏幕上运行。你需要为各种不同的情况准备好相应的布局资源。6.2解决方案(API Level 4) 构建多个布局文件,然后通过资源限定符让Android选择合适的布局。下面看看如何使用资源构建特定于不同的大小和方向屏幕的布局,还可以学习在多个配置使用同一布局时如何使用布局别名来减少重复代码。6.3 实现机制1.针对不...原创 2018-09-10 11:52:20 · 231 阅读 · 0 评论 -
11.自定义过渡动画
11.1 问题应用程序需要自定义Activity切换或Fragment切换时产生的过渡动画。11.2 解决方案(API Level 5) 要修改Activity间的过渡动画,可以使用overridePendingTransition()API进行某次切换时的动画,或者在应用程序的主题中声明自定义动画值来进行更多全局设置。要修改Fragment间的过渡动画,可以使用onCreate...原创 2018-09-17 08:36:50 · 306 阅读 · 0 评论 -
8.自定义ListView中的行
8.1 问题应用程序需要自定义ListView中各行的外观。8.2 解决方案(API Level 1) 创建一个自定义的XML布局,将其传递给某个常见的适配器,或者扩展你自己的适配器,然后用自定义的状态Drawable覆盖背景和选中状态下的行。8.3 实现机制1.简单的自定义 如果需要简单,那么创建一个布局,连接到已有的ListAdapter进行填充;我们以Arra...原创 2018-09-12 09:26:15 · 256 阅读 · 0 评论 -
4.动画视图
4.1 问题应用程序要让视图对象运动起来,实现变化或其他特效。4.2 解决方案(API Level12) ObjectAnimator实例,例如ViewPropertyAnimator,可以用来操作View对象的属性,例如视图的位置或旋转。ViewPropertyAnimation是通过View.animate()获得的,然后根据动画的特征进行修改。通过这个API进行的修改会影响...原创 2018-09-06 10:09:32 · 172 阅读 · 0 评论 -
1.样式化常见组件
1.1 问题你要让自己的应用程序在所有用户可能运行的Android版本上创建一致的外观和体验,同时减少维护这些自定义元素所需的代码量。1.2 解决方案(API Level1) 可以将定义应用程序外观常见属性抽象化到XML样式中。样式是视图自定义属性的集合,如文本大小或背景色,这些属性应该应用于应用程序内的多个视图。将这些属性抽象化到样式中,就可以在单个位置定义公共的元素,使得代码...原创 2018-09-03 17:08:02 · 462 阅读 · 0 评论 -
3.创建并显示视图
3.1 问题应用程序需要视图元素来显示消息并与用户交互。3.2 解决方案(API Level1) 无论是使用Android SDK中的各种视图和小部件,还是创建自定义显示,所有的应用程序都需要使用视图来与用户进行交互。在Android中构建用户界面的首选方法是,在XML中将其定义,然后在运行时调用。 Android中的视图结构是树状的,根部通常是Activity或窗口的内容视图...原创 2018-09-05 10:04:22 · 709 阅读 · 0 评论 -
小结(布局与视图)
Android平台被设计为能运行在各种类型的设备上,这些设备会有各种各样的屏幕尺寸和分辨率。为了让开发人员应对这个挑战,Android提供了大量的用户界面组件工具集,开发人员可以根据具体的应用程序选择使用组件或自定义组件。Android还非常依赖于可扩展的XML框架和设置资源限定符以实现能够兼容各种环境变化的浮动布局。以下是上面13个小节的博客链接和Demo资源链接:1.样式化常见组件Dem...原创 2018-09-21 15:23:28 · 184 阅读 · 0 评论