博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义控件解决重复编码问题
阅读量:4290 次
发布时间:2019-05-27

本文共 2033 字,大约阅读时间需要 6 分钟。

 使用自定义控件的方式解决了两个问题:

 1、在每一个活动中 重复编写布局代码的问题,
 2、在每一个活动中 都需要重新注册一遍返回按钮的点击事件

下面直接看例子:

效果图:

my_layout.xml中的代码:

myLayout.java中的代码:

package com.demo.mydefinitionlayout;import 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;/** * @使用自定义控件的方式解决了两个问题: * @1、在每一个活动中 重复编写布局代码的问题, * @2、在每一个活动中 都需要重新注册一遍返回按钮的点击事件 */public class myLayout extends LinearLayout {	public myLayout(Context context, AttributeSet attrs) {		super(context, attrs);		/**		 * 对标题栏布局进行动态加载		 */		LayoutInflater.from(context).inflate(R.layout.my_layout, this);		/**		 * 获得按钮,添加点击事件		 */		Button title_back = (Button) findViewById(R.id.title_back);		Button title_edit = (Button) findViewById(R.id.title_edit);		title_back.setOnClickListener(new OnClickListener() {			@Override			public void onClick(View v) {				// TODO Auto-generated method stub				// 销毁当前活动				Toast.makeText(getContext(), "您点击了返回按钮", 1).show();				((Activity) getContext()).finish();			}		});		title_edit.setOnClickListener(new OnClickListener() {			@Override			public void onClick(View v) {				// TODO Auto-generated method stub				Toast.makeText(getContext(), "您点击了编辑按钮", 1).show();			}		});	}}
activity_main.xml中的代码:

MainActivity.java中的代码:

package com.demo.mydefinitionlayout;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.view.Window;import android.os.Build;public class MainActivity extends Activity {	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉activity自带的标题栏		setContentView(R.layout.activity_main);	}}
项目下载:

你可能感兴趣的文章
mysql索引总结(1)-mysql 索引类型以及创建(文章写的不错!!!)
查看>>
聊聊CAS - 面试官最喜欢问的并发编程专题
查看>>
Spring Boot 中使用一个注解轻松将 List 转换为 Excel 下载
查看>>
高并发环境下,先操作数据库还是先操作缓存?
查看>>
MySQL Explain详解
查看>>
一直搞不清楚什么是读写分离,主从复制的原理,今天总算搞懂了
查看>>
消息队列 mq 必会面试题
查看>>
线程池的工作原理是啥?能手写一个线程池吗?
查看>>
一口气说出 6种 延时队列的实现方案,大厂offer稳稳的
查看>>
原来redis这么简单,跟着文章操作一遍你就会了
查看>>
Redis两种持久化机制RDB和AOF详解(面试常问,工作常用)
查看>>
事务隔离级别中的可重复读能防幻读吗?
查看>>
老伙计,关于JDK并发包,这些不为人知的秘密你知道多少?
查看>>
图片的左右切换
查看>>
进级的RecyclerView——LRecyclerView
查看>>
Android 利用Gradle实现app的环境分离
查看>>
Android系统篇之----Binder机制和远程服务调用
查看>>
JavaScript DOM 属性
查看>>
Gradle 实现 Android 多渠道定制化打包
查看>>
Android开源项目及库整理总结
查看>>