-
Fragment设计哲学2查看全部
-
Fragment设计哲学1查看全部
-
GridView 二维布局界面查看全部
-
设置日期,年月日查看全部
-
内容,函数的意思查看全部
-
页面下拉的设置查看全部
-
静态加载Fragment查看全部
-
Fragment知识概要查看全部
-
Fragment在应用当中应当是一个模块化和可重用的组件,因为Fragment定义了他自己的布局,以及通过使用他自己的生命周期回调方法定义了他自己的行为,可以讲Fragment包含到多个Activity中。查看全部
-
使用ViewStub惰性加载 作用:Viewstub标签同include标签一样可以用来引入一个外部布局,不同的是,Viewstub引入的布局默认不会扩张,既不会占用显示也不会占用位置,从而在解析layout时节省cpu和内存。 ---------------------- 这里我们通过使用按钮来实现ViewStub惰性加载。 1. 首先新建一个 common_text文件,只添加TextView控件。 2. 在 main.xml 文件中添加 Button 和 ViewStub,其中ViewStub添加属性android:layout="@layout/common_text",完成布局的添加。 3. 在 MainActiivity中创建和初始化Button和ViewStub。对Button添加监听器,监听点击事件。重写onclick()方法:在里面添加一句:viewStub.inflate();//令惰性加载ViewStub加载布局 ----------------- 不使用ViewStub也可以隐藏内容:比如说,TextView就有visibility属性,设置visibility="gone"就不会显示内容。可以设置个按钮监听器,当点击此按钮后,就修改visibility="visible"就能显示内容。 ---------------------- 摘自评论区: viewstub显示出来最好不要用inflate();最好用setVisibility(viewstub.VISIBLE)显示和用setVisibility(viewstub.GONE)隐藏,会少些麻烦。但是也有缺点,就是占用内存。 另外,那个“显示隐藏内容按钮”,点一次,出现“隐藏内容”,再点第二次,程序直接闪退。原因:对ViewStub的inflate操作只能进行一次,因为inflate的时候是将其指向的布局文件解析inflate并替换掉当前ViewStub本身(由此体现出了ViewStub“占位符”性质),一旦替换后,此时原来的布局文件中就没有ViewStub控件了,因此,如果多次对ViewStub进行infalte,会出现错误信息:ViewStub must have a non-null ViewGroup viewParent。查看全部
-
使用merge合并UI布局 作用:合并UI布局,使用该标签能降低UI布局的嵌套层次 场景1:布局根结点是FrameLayout且不需要设置background或padding等属性,可以使用merge代替。 场景2:某布局作为子布局被其他布局include时,使用merge当作该布局的顶节点,这样在被引入时顶结点会自动被忽略。查看全部
-
Android布局原则 1.尽量多使用LinerLayout(线性布局)和RelativeLayout(相对布局),不要使用AbsoluteLayout(绝对布局)。 2.在布局层次一样的情况下,建议使用LinearLayout代替RelativeLayout,因为LinearLayout性能要稍高点。 3.将可复用的组件抽使用取出来并通过include标签使用。 4.ViewStub标签来加载一些不常用的布局。 5.使用merge标签减少布局的嵌套层次。 <include ></include>的使用 作用:将共有的组件抽取出来单独放到一个xml文件中,然后使用include标签导入共有布局。 效果:提高UI的制作和复用效率,也能保证制作的UI布局更加规整和易维护。 在mainActivity中都有有findview找到文件ID查看全部
-
Android常用的布局样式 1.LinearLayout(线性布局) 线性的 垂直的 水平的 2.RelativeLayout(相对布局) 最灵活的 3.TableLayout(表格布局) 现在被 GridView代替 4.AbsoluteLayout(绝对布局) 已淘汰 5.FrameLayout(帧布局) 布局叠加时使用 现在基本使用线性布局和相对布局,特殊情况会使用帧布局(视频暂停、缓冲文件等)。查看全部
-
数据适配器简介查看全部
-
permission一定要在外面定义后再使用查看全部
举报
0/150
提交
取消