为减少代码量,可以引用已经写好的布局和相应的活动


这里创建一个title布局被引用

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    >    <Button        android:id="@+id/title_back"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:gravity="center"        android:layout_margin="5dp"        android:text="Back"        android:textColor="#fff"        />    <TextView        android:id="@+id/title_text"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:gravity="center"        android:layout_weight="1"        android:layout_gravity="center"        android:text="Title Text"        android:textColor="white"        android:textSize="24sp"        />    <Button        android:id="@+id/title_edit"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center"        android:layout_margin="5dp"        android:text="Edit"        android:textColor="#fff"        />LinearLayout>

注意

android:gravity="" 用来改变控件内标签的位置比如android:text="" 在按钮中的显示位置
android:layout_gravity="" 改变控件在父布局的位置


在主活动布局中添加引用

<com.example.uicustomviews.TitleLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"/>

注册活动

package com.example.uicustomviews;//TitleLayout.javaimport android.app.Activity;import android.content.Context;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import android.widget.Button;import android.widget.LinearLayout;import android.widget.Toast;public class TitleLayout extends LinearLayout{    //构造函数    public TitleLayout(Context context, AttributeSet attrs)    {        super(context, attrs);        //获得布局对象        LayoutInflater.from(context).inflate(R.layout.title, this);        //实例化两个按钮对应title.xml        Button titleBack = (Button)findViewById(R.id.title_back);        Button titleEdit = (Button)findViewById(R.id.title_edit);        //添加监听器        titleBack.setOnClickListener(new OnClickListener()        {            @Override            public void onClick(View v)            {                ((Activity)getContext()).finish();            }        });        titleEdit.setOnClickListener(new OnClickListener()        {            @Override            public void onClick(View v)            {                Toast.makeText(getContext(), "You clicked Edit Button", Toast.LENGTH_SHORT).show();            }        });    }}

运行效果

引入布局_第1张图片

更多相关文章

  1. Android中RelativeLayout布局各个xml相对布局属性的介绍和使用
  2. [android]控件ImageView的常用属性
  3. Android之TableLayout布局
  4. android控件注意点(一)
  5. Android 布局之DrawLayout
  6. android设置系统语言,字体大小,字体样式导致widget控件失效
  7. Android API指南(二)自定义控件04之 位置说明
  8. Android RadioButton背景图片和文字的相对位置
  9. Android学习笔记_布局文件属性的说明

随机推荐

  1. 《Android(安卓)基础(十二)》 TextInputLay
  2. Android(安卓)Google 地图学习
  3. Android打电话&发短信
  4. Android(安卓)cts测试命令
  5. Android在外部修改了工程名文件夹名称,报
  6. Android项目初始时的文件
  7. android 使用AsyncTask代替thread进行网
  8. Android(安卓)UI控件Spinner控件的学习
  9. Android(安卓)webview 自动填值和提交
  10. Android(安卓)运行时权限