`
chjmars
  • 浏览: 77438 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

自定义Layout的基本框架

阅读更多

 

public class SimpleMenuView extends RelativeLayout implements OnClickListener {

	private Context mContext;

	public SimpleMenuView(Context context) {
		super(context);
		mContext = context;
	}

	public SimpleMenuView(Context context, AttributeSet attrs) {
		super(context, attrs);
		mContext = context;
	}

	public SimpleMenuView(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		mContext = context;
	}

	public void init(final ItemAction action) {
		final Button btn01 = (Button) findViewById(R.id.btn_1);
		final Button btn02 = (Button) findViewById(R.id.btn_2);

		btn01.setOnClickListener(this);

		btn02.setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {
		case R.id.btn_1:
			break;

		default:
			break;
		}
		
	}
}

 

//加载类方法
private void layoutInflater() {
		LayoutInflater mInflater = getLayoutInflater();
		if (simpleMenuView == null || simpleMenuView.getParent() == null) {
			final SimpleMenuView menuView = (SimpleMenuView) mInflater.inflate(R.layout.menu_view, null);
			simpleMenuView = menuView;
		}

		if (simpleMenuView.getParent() == null) {
			RL.addView(simpleMenuView);
		} 
		if (simpleMenuView != null) {
			ItemAction action = new ItemAction();
			action.text = "btn";
			action.action = new Action();
			simpleMenuView.init(action); // 初始化
		}
	}
	// ItemAction可以设置自定义Layout各种属性, action为其事件

	public static class ItemAction {
		public String text;
		public Action action;
	}

	public static class Action {
		public void run(Button btn) {
			
		}
	}
 

 

分享到:
评论

相关推荐

    一个基于thinkphp5的cms框架,前端采用swiper+bootstrap+自定义layout,外观相当美观.zip

    总结而言,这个基于ThinkPHP5的CMS框架,结合了Swiper的动态效果、Bootstrap的前端框架和自定义Layout的设计,提供了一个功能完善、视觉效果出众的Web系统。对于学习PHP编程和MySQL数据库操作的学生来说,这是一个...

    使用Vue-Grid-Layout实现自定义工作台

    Vue-Grid-Layout 是一个基于 Vue.js 的响应式栅格布局系统,它允许开发者创建自定义的工作台,用户可以根据需要自由调整各个组件的位置和大小。在本教程中,我们将深入探讨如何使用 Vue-Grid-Layout 实现自定义工作...

    jquery ui layout 后台框架.zip

    《jQuery UI Layout 后台框架解析》 在前端开发领域,高效的页面布局是构建用户界面的关键环节。jQuery UI Layout 是一款强大的布局插件,它基于jQuery和jQuery UI库,为开发者提供了一种灵活且功能丰富的后台框架...

    Log4net自定义信息(变量或属性或字段)存入数据库

    2. **自定义Layout**: 为包含自定义信息的日志消息创建一个自定义布局(PatternLayout或ILayout)。在PatternLayout中,你可以使用%property{PropertyName}来引用对象的属性,或者%field{FieldName}来获取字段的值...

    CustomLayout:Android 自定义Layout

    在Android开发中,自定义Layout是一项重要的技能,它允许开发者根据特定需求创建独特且复杂的用户界面。本项目“CustomLayout”旨在提供一个Android自定义ListView和Dialog Layout的实例,适用于2015年夏季课程设计...

    Layout框架

    此外,Layout框架也允许自定义部分,比如页脚或者导航栏,可以通过使用`@section`来定义可选的区域。在aspx页面中,开发者可以声明一个与布局文件中`@section`同名的部分,并提供自定义内容。这样,即使使用了相同的...

    IOS自定义UITableView框架(社区风格)

    自定义UITableView框架能够根据项目需求打造出独特的用户界面和交互体验。本教程将聚焦于如何构建一个社区风格的UITableView框架,以提升应用的视觉吸引力和用户体验。 首先,我们要了解UITableView的基本结构。...

    Android布局——Preference自定义layout的方法

    本文将详细介绍如何在Preference中自定义layout。 首先,PreferenceScreen是一个XML文件,它位于res/xml目录下,不同于常规的layout文件。要在Preference中插入自定义布局,可以采取两种方法: 1. 使用Preference...

    ios-简易app整体框架自定义底部标签栏.zip

    这个“ios-简易app整体框架自定义底部标签栏.zip”文件提供了一个基础的App框架,特别适合iOS开发的新手学习和使用。 首先,我们来探讨底部标签栏(Tab Bar)。底部标签栏是iOS应用中常见的UI设计元素,它通常位于...

    高度自定义的Android视频框架 MediaPlayer exoplayer ijkplayer ffmpeg.zip

    高度自定义的Android视频框架中文下载Demo快速入门1.添加类库implementation 'cn.jzvd:jiaozivideoplayer:7.7.0'2.添加布局<cn.jzvd.JzvdStd android:id="@+id/jz_video" android:layout_width="match_parent...

    log4j自定义

    Log4j作为一款广泛使用的日志框架,其强大的可配置性和自定义能力使其成为开发者们的首选。本文将详细探讨如何在Log4j中进行自定义配置,以满足不同项目的需求。 首先,Log4j的自定义主要体现在以下几个方面: 1. ...

    Layoutit bootStrap3

    Layoutit BootStrap3是基于此框架的一个在线布局工具,它提供了一个直观的拖拽界面,帮助开发者无需编写代码就能设计出复杂的Bootstrap页面布局。 Bootstrap3的核心组件包括网格系统、表单、按钮、导航、下拉菜单、...

    表单自定义

    "layoutit-master"这个压缩包文件很可能包含一个用于实现表单自定义的框架或库。 表单自定义的核心是灵活性和可扩展性。通常,它包括以下几个关键组成部分: 1. **字段选择**:用户可以选择不同类型的数据字段,如...

    基于自定义网格的框架

    【基于自定义网格的框架】是一种网页布局技术,它允许开发者根据特定需求创建灵活、响应式的网格系统,以实现更加精确和高效的网页设计。在这个项目中,开发者构建了一个框架,用以克隆Fedora操作系统的官方网站,...

    Sprint-Layout60 绝对好用

    此外,该工具还具有良好的扩展性,可以方便地集成到各种开发框架和库中,如React、Vue、Angular等,使得跨平台开发变得轻松。 在性能方面,Sprint-Layout60也表现出色。优化的渲染机制确保了在大量数据和复杂布局下...

    qt 最基础 最详细的 layout 基本布局 源代码

    在这个压缩包中,我们聚焦于“Layout”——Qt中的基本布局管理机制,这对于理解和创建高效、适应性强的用户界面至关重要。 布局管理在Qt中扮演着关键角色,它允许你自动调整控件(如按钮、文本框等)的位置和大小,...

    c#RDLC自定义纸张打印

    在.NET框架中,C#与Reporting Services的ReportViewer控件结合使用时,RDLC(Report Definition Language Client-Side)报表可以提供丰富的数据可视化功能。RDLC报表不仅支持标准的页面大小,还可以根据需求进行...

    swift-FlowLayout-适用于iOS的双向布局框架

    Flow Layout框架的出现,就是为了解决这个问题,它能够自动适应不同的屏幕尺寸,并支持动态添加或移除子视图,使得布局更加灵活。 Flow Layout框架的核心概念包括: 1. **布局方向**:不同于标准的水平或垂直布局...

    layoutit bootstrap3中文版可拖放排序在线编辑的bootstrap可视化布局系统

    解压后,开发者可以研究这些文件的结构,学习如何使用和自定义Layoutit生成的代码。 总的来说,Layoutit Bootstrap3中文版是基于Bootstrap3的高效网页布局工具,它通过拖放界面简化了网页设计的复杂性,尤其适合对...

Global site tag (gtag.js) - Google Analytics