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的设计,提供了一个功能完善、视觉效果出众的Web系统。对于学习PHP编程和MySQL数据库操作的学生来说,这是一个...
Vue-Grid-Layout 是一个基于 Vue.js 的响应式栅格布局系统,它允许开发者创建自定义的工作台,用户可以根据需要自由调整各个组件的位置和大小。在本教程中,我们将深入探讨如何使用 Vue-Grid-Layout 实现自定义工作...
《jQuery UI Layout 后台框架解析》 在前端开发领域,高效的页面布局是构建用户界面的关键环节。jQuery UI Layout 是一款强大的布局插件,它基于jQuery和jQuery UI库,为开发者提供了一种灵活且功能丰富的后台框架...
2. **自定义Layout**: 为包含自定义信息的日志消息创建一个自定义布局(PatternLayout或ILayout)。在PatternLayout中,你可以使用%property{PropertyName}来引用对象的属性,或者%field{FieldName}来获取字段的值...
在Android开发中,自定义Layout是一项重要的技能,它允许开发者根据特定需求创建独特且复杂的用户界面。本项目“CustomLayout”旨在提供一个Android自定义ListView和Dialog Layout的实例,适用于2015年夏季课程设计...
此外,Layout框架也允许自定义部分,比如页脚或者导航栏,可以通过使用`@section`来定义可选的区域。在aspx页面中,开发者可以声明一个与布局文件中`@section`同名的部分,并提供自定义内容。这样,即使使用了相同的...
自定义UITableView框架能够根据项目需求打造出独特的用户界面和交互体验。本教程将聚焦于如何构建一个社区风格的UITableView框架,以提升应用的视觉吸引力和用户体验。 首先,我们要了解UITableView的基本结构。...
本文将详细介绍如何在Preference中自定义layout。 首先,PreferenceScreen是一个XML文件,它位于res/xml目录下,不同于常规的layout文件。要在Preference中插入自定义布局,可以采取两种方法: 1. 使用Preference...
这个“ios-简易app整体框架自定义底部标签栏.zip”文件提供了一个基础的App框架,特别适合iOS开发的新手学习和使用。 首先,我们来探讨底部标签栏(Tab Bar)。底部标签栏是iOS应用中常见的UI设计元素,它通常位于...
高度自定义的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的自定义主要体现在以下几个方面: 1. ...
Layoutit BootStrap3是基于此框架的一个在线布局工具,它提供了一个直观的拖拽界面,帮助开发者无需编写代码就能设计出复杂的Bootstrap页面布局。 Bootstrap3的核心组件包括网格系统、表单、按钮、导航、下拉菜单、...
"layoutit-master"这个压缩包文件很可能包含一个用于实现表单自定义的框架或库。 表单自定义的核心是灵活性和可扩展性。通常,它包括以下几个关键组成部分: 1. **字段选择**:用户可以选择不同类型的数据字段,如...
【基于自定义网格的框架】是一种网页布局技术,它允许开发者根据特定需求创建灵活、响应式的网格系统,以实现更加精确和高效的网页设计。在这个项目中,开发者构建了一个框架,用以克隆Fedora操作系统的官方网站,...
此外,该工具还具有良好的扩展性,可以方便地集成到各种开发框架和库中,如React、Vue、Angular等,使得跨平台开发变得轻松。 在性能方面,Sprint-Layout60也表现出色。优化的渲染机制确保了在大量数据和复杂布局下...
在这个压缩包中,我们聚焦于“Layout”——Qt中的基本布局管理机制,这对于理解和创建高效、适应性强的用户界面至关重要。 布局管理在Qt中扮演着关键角色,它允许你自动调整控件(如按钮、文本框等)的位置和大小,...
在.NET框架中,C#与Reporting Services的ReportViewer控件结合使用时,RDLC(Report Definition Language Client-Side)报表可以提供丰富的数据可视化功能。RDLC报表不仅支持标准的页面大小,还可以根据需求进行...
Flow Layout框架的出现,就是为了解决这个问题,它能够自动适应不同的屏幕尺寸,并支持动态添加或移除子视图,使得布局更加灵活。 Flow Layout框架的核心概念包括: 1. **布局方向**:不同于标准的水平或垂直布局...
解压后,开发者可以研究这些文件的结构,学习如何使用和自定义Layoutit生成的代码。 总的来说,Layoutit Bootstrap3中文版是基于Bootstrap3的高效网页布局工具,它通过拖放界面简化了网页设计的复杂性,尤其适合对...