android嵌入式布局并创建自定义控件

一、如何在android中嵌入布局文件:

新建一个布局title.xml,该文件为公共文件

<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_gravity="center"
android:layout_margin="5dip"
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
128
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="5dip"
android:background="@drawable/edit_bg"
android:text="Edit"
android:textColor="#fff" />
</LinearLayout>

我们在主页面中添加如下代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<include layout="@layout/title" />
</LinearLayout>

即可引入公共布局文件

二、如何创建自定义控件

在以上代码的基础上新建如下代码:

public class TitleLayout extends LinearLayout {
    public TitleLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
        LayoutInflater.from(context).inflate(R.layout.title, this);

    }
}

并将主页面代码修改为

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.example.uicustomviews.TitleLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
></com.example.uicustomviews.TitleLayout>
</LinearLayout>

将自定义控件的代码进行修改

public class TitleLayout extends LinearLayout {
public TitleLayout(Context context, AttributeSet attrs) {
super(context, attrs);
LayoutInflater.from(context).inflate(R.layout.title, this);
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();
}
});
}
}

这样,在每次引入自定义控件自后,对应的按钮事件绑定就已经完成,省去编写重复代码。

时间: 2024-09-30 19:31:54

android嵌入式布局并创建自定义控件的相关文章

android学习七(创建自定义控件)

前面学习的是android的基本控件和布局的使用,但是基本的控件和布局有时候并不能实现复杂的布局.我们来看下各种控件和布局的关系. 可见所有的控件都是直接或者间接的继承自View的,所有的布局都是直接或者间接基础自ViewGroup的.View是Android中一种最基本的UI组件,它可以在屏幕的上绘制一块矩形区域,并能响应这块区域的各种事件,因此,我们使用的各种控件其实就是在View的基础上又添加了各种各自特有的功能.而ViewGroup则是一种特殊的View,它可以包含很多的View和子Vi

Android第五天--&gt;创建自定义控件

1.仿 iPhone 的风格,在界面的顶部放置一个标题栏. <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height=&quo

android:创建自定义控件

在前面两节我们已经学习了 Android 中的一些常见控件以及基本布局的用法,不过当时 我们并没有关注这些控件和布局的继承结构,现在是时候应该看一下了,如图 3.26 所示. 图   3.26 可以看到,我们所用的所有控件都是直接或间接继承自 View 的,所用的所有布局都是 直接或间接继承自 ViewGroup 的.View 是 Android 中一种最基本的 UI 组件,它可以在屏幕 上绘制一块矩形区域,并能响应这块区域的各种事件,因此,我们使用的各种控件其实就是 在 View 的基础之上又

Android四大组件之Activity(活动)及其布局的创建与加载布局

Android四大组件之Activity(活动)及其布局的创建与加载布局 什么是Activity ? 活动(Activity)是包含用户界面的组件,主要用于和用户进行交互的,一个应用程序中可以包含零个或多个活动. 手动创建Activity的过程详解 到现在为止,你还没有手动创建过活动呢,在第一个安卓工程中,HelloWorldActivity是ADT帮我们创建的,手动创建活动可以加深我们的理解,因此现在是时候应该自己动手了. 首先,你需要再新建一个 Android 项目,项目名可以叫做 Acti

《Android第一行代码》学习记录008 - 创建自定义控件

一.关于View与布局,首先上图 从图中可以看到: View是Android中最基本的UI组件,它可以在屏幕上绘制一块矩形区域,并能响应这个区域的各种事件: ViewGroup是一种特殊的View,它可以包含很多子View和子ViewGroup,是一种用于放置控件和布局的容器: 我们所使用的所有控件都是直接或间接继承View的,各种控件其实就是在View的基础上添加了各自的功能: 所有布局都是直接继承自ViewGroup的: 二.定义自定义控件需要: 自定义控件的布局文件: 自定义控件的类: 以

Android入门(四)UI-创建自定义控件

原文链接:http://www.orlion.ga/441/ 一.引入布局 iphone应用顶部会有一个标题栏,我们可以模仿着做一个,但是如果我们的程序中很多个活动都需要这样的标题栏,如果 每一个活动中都写一个标题栏就会导致代码重复,我们可以使用引入布局的方式来解决这个问题,新建一个布局title.xml.代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&

第七章 Android嵌入式组态软件

本章内容属于项目篇,主要介绍了嵌入式组态软件结构,以及界面设计.功能选择区设计.辅助功能区设计和程序生成区设计Android应用,采用Java开发嵌入式组态软件. Android嵌入式组态软件是通过拖拽思想进行程序设计的.开发人员将组件拖拽到设计界面,通过双击指定组件,并调整组件的属性,达到所需的效果. 一.界面设计 1>创建一个Java工程,名称DroidDraw: 2>在目录org\droiddraw下会有一个main函数作为入口函数,然后进行界面初始化. 二.界面内容添加 将窗口进行分块

创建自定义控件

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "PingFang SC"; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvetica; color: #000000; min-height: 13.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvet

Andriod - 创建自定义控件

控件和布局的继承结构: 可以看到,我们所用的所有控件都是直接或间接继承自 View的,所用的所有布局都是直接或间接继承自 ViewGroup 的.View 是 Android 中一种最基本的 UI 组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件,因此,我们使用的各种控件其实就是在 View的基础之上又添加了各自特有的功能.而 ViewGroup 则是一种特殊的 View,它可以包含很多的子 View 和子 ViewGroup,是一个用于放置控件和布局的容器.这个时候我们就可以思