新建一个布局title.xml

<?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"    android:background="@drawable/title_bg" >    <Button        android:id="@+id/title_back"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_margin="15dip"        android:background="@drawable/back_bg"        android:text="Back"        android:textColor="#fff" />        <TextView         android:id="@+id/title_text"        android:layout_width="0dip"        android:layout_height="wrap_content"        android:layout_gravity="center"        android:layout_weight="1"        android:gravity="center"        android:text="Title Text"        android:textColor="#fff"        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="15dip"        android:background="@drawable/edit_bg"        android:text="Edit"        android:textColor="#fff"/>    </LinearLayout>

新建TitleLayout继承LinearLayout,让他成为我们自定义的标题栏控件,代码如下:

package com.zhangbz.uicustomviews;import android.app.Activity;import android.content.Context;import android.util.AttributeSet;import android.util.Log;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);    }}

重写构造函数,在布局中引入这个控件时就会调用这个构造函数。

修改activity_main.xml,在布局文件中添加这个自定义控件:

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

注:此处应使用完整类名。

在TitleLayout.java文件中为标题栏中的按钮注册点击事件:

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", 0).show();            }        });

更多相关文章

  1. Android的数据库--sqlite(一)
  2. android 布局简括
  3. Android入门学习七:基本控件学习
  4. Android控件及API说明(三)
  5. Android月历控件(DatePicker)和时间控件(TimePicker)的使用
  6. android之Spinner控件用法
  7. andirons studio五大布局简介
  8. 线性布局控件间的布局设置
  9. padding和margin的区别及其属性

随机推荐

  1. 图片压缩
  2. Migrate to Android(安卓)Plugin for Gra
  3. Android(安卓)ListView使用
  4. Android(安卓)图片加载缓存
  5. Android(安卓)之 资源自适应与国际化
  6. Android(安卓)存储用户信息
  7. Google Android(安卓)文档笔记-Training-
  8. android CoordinatorLayout 使用
  9. Android(安卓)Action Bar
  10. android 版本号比较大小