台州工商红盾网,小伙天生男女两套生殖系统,合肥未来一周天气预报
尽管android提供了各种组件来实现小而可复用的交互元素,你也可能因为布局需要复用一个大组件。为了高效复用完整布局,你可以使用<include/>和<merge/>标签嵌入另一个布局到当前布局。所以当你通过写一个自定义视图创建独立ui组件,你可以放到一个布局文件里,这样更容易复用。
复用布局因为其允许你创建可复用的复杂布局而显得非常强大。如,一个 是/否 按钮面板,或带描述文本的自定义进度条。这同样意味着,应用里多个布局里共同的元素可以被提取出来,独立管理,然后插入到每个布局里。
创建可复用布局
如果你已经知道哪个布局需要重用,就创建一个新的xml文件来定义布局。如,下面是一个来自g-kenya代码库里定义标题栏的布局,它可以被插到每个activity里:
根视图应该刚好和你在其他要插入这个视图的视图里相应位置一样。
使用<include/>标签
在你要添加可复用布局的布局里,添加<include/>标签。下面是添加标题栏:
你同样可以覆盖所有的布局参数(android:layout_*属性)
可是,如果你要用include标签覆盖布局属性,为了让其他属性生效,就必须覆盖android:layout_height和android:layout_width。
使用<merge/>标签
<merge/>标签帮助你排除把一个布局插入到另一个布局时产生的多余的view group.如,你的被复用布局是一个垂直的线性布局,包含两个子视图,当它作为一个被复用的元素被插入到另一个垂直的线性布局时,结果就是一个垂直的linearlayout里包含一个垂直的linearlayout。这个嵌套的布局并没有实际意义,而且会让ui性能变差。
为了避免插入类似冗余的view group,你可以使用<merge/>标签标签作为可复用布局的根节点,如:
现在,当你使用include标签插入这个布局到另一个布局时,系统会忽略merge标签,直接把两个button替换到include标签的位置。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android apk 项目一键打包并上传到蒲公英的实现方法
Android 自定义LineLayout实现满屏任意拖动功能的示例代码
android 限制某个操作每天只能操作指定的次数(示例代码详解)
Android 集成 google 登录并获取性别等隐私信息的实现代码
网友评论