Android一个布局文件嵌套另一个布局文件的方法

文前:学安卓与JAVA算来已经有两个月了,以前都是看着书本或者跟着老师打代码,真正自己去写代码却很少,今天自己尝试着写一个小项目时却发现这样和那样的问题,甚至是一些小问题都要花掉两三个小时去查资料解决今天被一个布局问题搞得焦头烂额,觉得是时候该做下笔记,让自己长长记性了。

在写布局文件时,经常会有一部分代码是重复的,为了提高代码的复用性和减少代码量,我们通常的做法是将相同的那一部分写入一个layout文件中让其它布局文件去调用,这时我们在调用的布局文件用到<include />布局,在该布局里加入layout="@layout/“被引用的布局文件名”"以我做的Demo为例子。

这是我想要做成的效果,而我中间的一些图片控件用到了绝对布局相对比较复杂于是我将那六边形的图片控件单独拿出来写成了一个布局menu_icon.xml。

代码如下:

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >


    <ImageView
        android:id="@+id/music_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="115dip"
        android:layout_y="0dip"
        android:src="@drawable/music_icon_1_0" />
    <ImageView
        android:id="@+id/phone_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="189dip"
        android:layout_y="36dip"
        android:src="@drawable/phone_icon_2_0" />
    <ImageView
        android:id="@+id/clock_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="189dip"
        android:layout_y="117dip"
        android:src="@drawable/clock_icon_3_0" />
    <ImageView
        android:id="@+id/battery_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="115dip"
        android:layout_y="152dip"
        android:src="@drawable/batery_icon_4_0" />
    <ImageView
        android:id="@+id/camera_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="40dip"
        android:layout_y="117dip"
        android:src="@drawable/camera_icon_5_0" />
    <ImageView
        android:id="@+id/email_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="40dip"
        android:layout_y="36dip"
        android:src="@drawable/email_icon_0_0" />


</AbsoluteLayout>

让主界面布局main_menu.xml去引用它,代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background" >


    <!-- 位于顶部的标题图片 -->


    <ImageView
        android:id="@+id/title_map"
        android:layout_width="200dip"
        android:layout_height="200dip"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="5dip"
        android:src="@drawable/title" />


    <!-- 定义一个Textview在父控件的中间 -->


    <TextView
        android:id="@+id/center_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="记事本"
        android:layout_marginLeft="150dip"
        android:layout_marginTop="300dip"
        android:textColor="#0e1ff4"
        android:textSize="20sp" />

    <include
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="200dip"
        layout="@layout/menu_icon" />


</RelativeLayout>


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值