android布局采用include 统一管理布局

通常的在一个项目中会有顶部标题栏 和 底部导航栏。而且这些东西在很多个界面都有使用。

我们采用include 来进行布局的重用。

include标签常用于将布局中的公共部分提取出来供其他layout共用,以实现布局模块化。

<include />标签可以使用单独的layout属性,前提是必须给其设置 android:layout_width 和 android:layout_height 两个属性。否则没效果。

Activity需要的布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <!--
        我的QQ :	2622596982

	邮箱:		[email protected]  

	QQ 交流群 : 277599214

	tips :	欢饮各位朋友多多提意见,小弟不胜感激

    -->

    <!-- 这里是顶部标题栏的布局(只需要修改 include_top_title 布局中的内容就可以了,在这里不需要做任何的变动) -->

    <include
        android:id="@+id/il_top"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        layout="@layout/include_top_title" />

    <!-- 这里是底部导航栏栏的布局(只需要修改 include_bottom_navigation 布局中的内容就可以了,在这里不需要做任何的变动) -->

    <include
        android:id="@+id/il_bottom"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_alignParentBottom="true"
        layout="@layout/include_bottom_navigation" />

    <!-- 中间部分要展示的内容,只需要把要在该区域展示的界面布局include进来就可以了,例如:layout="@layout/include_bottom_navigation" (不管是自定义的还是系统自带的,只需要这么一句话就可以了) -->

    <include
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/il_bottom"
        android:layout_below="@id/il_top"
        layout="@layout/include_bottom_navigation" />

</RelativeLayout>

定义一个顶部标题栏的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/darker_gray"
    android:paddingBottom="8dp"
    android:paddingTop="8dp" >

    <ImageView
        android:id="@+id/iv_back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="8dp"
        android:background="@drawable/back" />

    <ImageView
        android:id="@+id/iv_go"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="8dp"
        android:background="@drawable/go"/>

    <TextView
        android:id="@+id/tv_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="这里是标题" />

</RelativeLayout>

然后我们在 activity 的布局文件中把该顶部标题栏的布局include进来就行了:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <include
        layout="@layout/include_top_title" />

</RelativeLayout>

效果图如下:

最后顺便将底部导航栏  和 中间内容显示区域也封装了吧。

底部导航栏:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/background_dark"
    android:orientation="horizontal" >

    <ImageView
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/home" />

    <ImageView
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/home" />

    <ImageView
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/home" />

    <ImageView
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/home" />

</LinearLayout>

最终的效果图如下:

最后附上下载地址:

点我下载

时间: 2024-10-06 19:29:12

android布局采用include 统一管理布局的相关文章

Android Studio中Gradle统一管理版本号引用配置

Gradle统一管理版本号引用配置 为了提高项目开发效率,在实际项目开发过程中往往会引入一些开源框架,还有项目中使用的各种module,moudle过多时最好提供一种统一的方式去管理版本号,如:compileSdkVersion.buildToolsVersion.androidTestCompile 等,便于日后对版本号进行维护,此处记录2种方式处理上述问题. 方式一 1.在项目根目录下创建.gradle文件,如:config.gradle 2.在根目录下的build.gradle文件中引入我

Android开发日志统一管理

在开发中,我们通常要对日志的输出做统一管理,下面就为大家推荐一个日志输出类,在开发阶段只需将DEBUG常量设为true,生产环境将DEBUG设为false即可控制日志的输出.啥都不说了,需要的朋友直接带走. package com.android.util; /** * 日志输出统一管理 * * @author 祁连山 * @date 2015-04-27 * @version 1.0 * */ public class Log { private static final String TAG

Android中View绘制优化二一---- 使用&lt;include /&gt;标签复用布局文件

本文原创, 转载请注明出处:http://blog.csdn.net/qinjuning 译二: 使用<include />标签复用布局文件  翻译地址:http://developer.android.com/training/improving-layouts/reusing-layouts.html#Merge 尽管Android通过内置了各种各样的控件提供了微小.可复用的交互性元素,也许你需要复用较大的 组件 ---- 某些特定布局文件 .为了更有效率复用的布局文件,你可以使用<

android 布局之include、merge 、ViewStub

在布局优化中,Androi的官方提到了这三种布局<include />.<merge />.<ViewStub />,并介绍了这三种布局各有的优势,下面也是简单说一下他们的优势,以及怎么使用,简单复习下. 1.布局重用<include /> <include />标签能够重用布局文件,简单的使用如下: <span style="font-size:12px;"><LinearLayout xmlns:andr

我的Android进阶之旅------&gt;Android中的布局优化 include、merge 、ViewStub

1.如何重用布局文件? 可以使用<include>标签引用其他的布局文件,并用android:id属性覆盖被引用布局文件中顶层节点的android:id属性值.代码如下: <!--引用mylayout.xml--> <include android:id="@+id/layout1" layout="@layout/mylayout"/> 2.减少视图层级<merge /> 无论布局文件的根节点是什么,系统都会在上一层

Android 抽象布局之include、merge、Viewstub

Android  抽象布局之include.merge.Viewstub 1.布局重用<include /> <include />标签能够重用布局文件,简单的使用如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="mat

Android之四大组件、六大布局、五大存储

[-] Android六大界面布局方式 1 LinearLayout线性布局 LinearLayout的常用XML属性及相关方法 LinearLayout子元素支持的常用XML属性及方法 2 TableLayout表格布局 TableLayout的常用XML属性及方法 3 FrameLayout帧布局 FrameLayout的常用XM了属性及方法 4 RelativeLayout相对布局 RelativeLayout的XML属性及相关方法说明 RelativeLayoutLayoutParams

Android学习笔记六:六大布局

六大界面布局方式包括: 线性布局(LinearLayout).帧布局(FrameLayout).表格布局(TableLayout).相对布局(RelativeLayout).绝对布局(AbsoluteLayout)和网格布局(GridLayout) . 1. LinearLayout线性布局 LinearLayout容器中的组件一个挨一个排列,通过控制android:orientation属性,可控制各组件是横向排列还是纵向排列. LinearLayout的常用XML属性及相关方法 XML属性

Android绘制优化(二)布局优化

相关文章 Android绘制优化(一)绘制性能分析 前言 我们知道一个界面的测量和绘制是通过递归来完成的,减少布局的层数就会减少测量和绘制的时间,从而性能就会得到提升.当然这只是布局优化的一方面,那么如何来进行布局的分析和优化呢?本篇文章会给你一个满意的答案. 1.布局优化工具 在讲到如何去布局优化前,我们先来学习两种布局优化的工具. Hierarchy Viewer Hierarchy Viewer是Android SDK自带的可视化的调试工具,用来检查布局嵌套和绘制的时间.需要注意的是在在A