新建一个布局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. C语言函数以及函数的使用
  2. Android布局属性全面剖析
  3. android 布局边框
  4. android 布局简括
  5. Android入门学习七:基本控件学习
  6. android 表单布局 左右布局
  7. android之Spinner控件用法
  8. Android控件及API说明(三)
  9. Android常用布局之LinearLayout(线性布局)仿酷狗登录界面

随机推荐

  1. Android菜鸟进阶之路 TextView的使用
  2. Android代码混淆防反编译解决方案研究
  3. Android(安卓)Button控件的使用
  4. Android开发人员应避免的10个误区
  5. 一个简单的demo学习Android远程Service(AI
  6. Android应用程序的Life Cycle
  7. Android(安卓)开发中常用到的adb,aapt,gi
  8. Android(安卓)使用 SharedPreferences 保
  9. Python+Android进行TensorFlow开发
  10. Android第三课 联调华为手机