Android 定制控件有三种方式:
继承其它控件类(EditText、Button)
组合方式。当前控件类从容器类继承,并将若干个控件添加到当前的容器中。
绘制控件,也就是控件类从View继承,并在onDraw方法中从零绘制控件。例如,TextView。
下面介绍一个最经常,最频繁用的组合控件的例子:
mybutton.xml
Mybutton.java
应用:
实现:
继承其它控件类(EditText、Button)
组合方式。当前控件类从容器类继承,并将若干个控件添加到当前的容器中。
绘制控件,也就是控件类从View继承,并在onDraw方法中从零绘制控件。例如,TextView。
下面介绍一个最经常,最频繁用的组合控件的例子:
mybutton.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/iv" android:src="@drawable/ok" android:paddingTop="5dip" android:paddingBottom="5dip" android:paddingLeft="40dip" android:layout_gravity="center_vertical" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="确定" android:textColor="#000000" android:id="@+id/tv" android:layout_marginLeft="8dip" android:layout_gravity="center_vertical" /> </LinearLayout>
Mybutton.java
import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; public class MyButton extends LinearLayout { private ImageView mIv; private TextView mTv; public MyButton(Context context) { this(context,null); } public MyButton(Context context, AttributeSet attrs) { super(context,attrs); LayoutInflater.from(context).inflate(R.layout.mybutton, this, true); mIv = (ImageView)findViewById(R.id.iv); mTv = (TextView)findViewById(R.id.tv); } public void setImageResource(int resId) { mIv.setImageResource(resId); } public void setTextViewText(String text) { mTv.setText(text); } }
应用:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <com.example.mybu.MyButton android:id="@+id/bt_confirm" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:clickable="true" android:background="#FF0000" android:focusable="true" /> </RelativeLayout>
实现:
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity { private MyButton but; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); but = (MyButton)findViewById(R.id.bt_confirm); but.setTextViewText("好的"); but.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { but.setTextViewText("確定"); } }); } }
- Mybu.zip (1.4 MB)
- 下载次数: 1
发表评论
-
2048源码(核心算法有,缺少几个anctionbar,以后补上)
2014-09-25 13:22 15302048游戏基本上有四部分组成, 1:主activity,包含 ... -
android动画效果
2014-09-24 18:06 1147前几天弄alertdialog和popupwindow的时候, ... -
AlertDialog和PopupWindow
2014-09-18 15:44 1901区别:AlertDialog是非阻塞式对话框:AlertDia ... -
基础篇--resources资源
2014-09-12 15:18 539最近一直在做java开发,偶尔敲点android代码,突然发现 ... -
多点触摸(图片缩放为例)
2014-09-01 17:22 657多点触摸的事件跟单点是大同小异的,上个图片缩放的代码,供大家参 ... -
Toast的多种样式(附带Notification)
2014-09-01 13:48 943Toast以前用的时候一直以为只有文字提示,偶然得知也有多种样 ... -
Android Adapter详解(2)
2014-08-15 14:05 10以前Adapter一直用的不是太好,经过长时间的浸淫,现在可以 ... -
BroadcastReceiver简介
2014-08-14 16:27 675BroadcastReceiver作为四大 ... -
关于Android的Service
2014-08-14 13:57 464说起来真是羞愧,以前手机经常开机的时候,不会有任何QQ消息通知 ... -
在开发过程中易出的错误
2014-08-13 16:53 4191:如果继承ListActivity,那么layout中必须有 ... -
多媒体的浅尝辄止
2014-08-12 15:57 537下面简单讲几种Android的多媒体技术,音频,视频,摄像头, ... -
Sqlite无脑使用
2014-08-11 14:56 889不会sqlite的人再也不用愁了,无脑使用,只要会粘贴复制就O ... -
android弹出框
2014-08-11 11:23 519不得不说,android自带的弹出框真心丑,而且还不好用,接下 ... -
android几种数据存储方式
2014-08-11 10:45 712android数据存储方式 1:SharedPreferen ... -
SQLiteOpenHelper和ContentProvider区别
2014-08-06 15:08 1441Android中操作数据库主要有两种方法:使用SQLiteOp ... -
xml文件解析SAX
2014-08-05 13:45 504xml文件解析:xml文件解析有四种方式, 1.DOM生成和解 ... -
Android不常用代码(1)
2014-07-31 18:07 545目录 1:Webview 2:js交互 1:Web ... -
系统窗口的调用
2014-07-31 15:46 472直接上代码吧,intent进行调用 @Override ... -
fragment简单实用及数据传递(2)
2014-07-31 15:13 2551FragmentTransaction 进行数据传递 imp ... -
ActionBar简介
2014-07-31 10:47 714Action bar是一个标识应用程序和用户位置的窗口功能,并 ...
相关推荐
本文将深入探讨如何根据【标题】"Android自定义组合控件"和【描述】中的内容,结合【标签】"android 自定义控件 组合控件 自定义属性",来创建一个自己的自定义组合控件。 首先,我们要明白什么是自定义控件。在...
在Android开发中,自定义组合控件是一种常见的需求,它允许开发者根据具体应用的界面设计和功能需求,创建独特且个性化的用户界面组件。本文将深入探讨如何在Android中实现自定义组合控件,以及这一过程中的关键知识...
在Android开发中,组合控件(Composite Control)是一种常见的UI设计模式,它允许开发者将多个基本控件(如按钮、文本框等)组合在一起,形成一个新的具有特定功能的控件。这种控件可以帮助我们实现更复杂的用户界面...
在C#编程中,组合控件(Combobox)和树形视图(TreeView)是两种常用的用户界面元素,它们在创建交互式、图形化的应用程序时起着关键作用。本篇文章将详细探讨如何将这两个控件结合使用,为用户提供一种具有层次感的...
在IT行业中,自定义组合控件的实现是Android开发中一个重要的知识点,它涉及到UI设计、自定义View以及布局管理等多个领域。自定义控件可以让开发者根据特定需求创建出具有独特功能和外观的用户界面元素,提升应用的...
本文将深入探讨如何在Android中实现自定义组合控件,以提高应用的用户体验和界面设计的灵活性。 首先,理解自定义View的基本概念至关重要。自定义View是通过继承已有的View或 ViewGroup 类,然后重写其方法来实现的...
自定义控件(组合控件)源码(WebControl) 自定义控件(组合控件)源码(WebControl) 自定义控件(组合控件)源码(WebControl)
本文将深入探讨如何在Android中实现自定义View,包括组合控件和重写现有控件。 首先,我们要理解Android的View体系结构。View是Android UI的基本构建块,它负责绘制和处理用户的交互事件。而ViewGroup则是一种特殊...
在Android开发中,自定义组合控件是一种常见的需求,它允许开发者根据项目需求创建具有独特功能和视觉效果的用户界面组件。这篇博客文章(http://blog.csdn.net/jason_996/article/details/51203215)可能详细介绍了...
在Android开发中,自定义组合控件是一种常见的需求,它能够帮助我们实现独特且复杂的界面设计,提升用户体验。本文将深入探讨自定义组合控件的概念、实现方式以及它如何体现XML布局思想,同时通过分析提供的文件`...
group工程演示了App开发的组合控件相关知识,包括:标签栏的用法(标签按钮、三种标签栏的实现方式)、导航栏的用法(工具栏、溢出菜单、搜索框、标签布局)、横幅条的用法(自定义指示器、横幅轮播Banner的实现)、...
组合控件,顾名思义,是指将多个基本控件通过特定的方式组合在一起,形成一个具有新功能或新外观的复合控件。本篇文章将深入探讨如何在Android中实现自定义组合控件,以及如何处理点击事件。 首先,我们从创建一个...
在IT行业中,自定义控件和组合控件是软件开发中的重要概念,特别是在GUI(图形用户界面)设计中。自定义控件允许开发者根据特定需求创建具有独特功能和外观的UI元素,而组合控件则是将多个基础控件集成在一起,以...
手机安全卫士--Android自定义组合控件实现设置功能,界面采用Android自定义组合控件的方式实现,更多详细信息请访问 http://blog.csdn.net/qq_20889581?viewmode=contents 文明的小流氓的博客
我们来讲一下自定义组合控件,相信大家也接触过自定义组合控件吧,话不多说,直接干(哈~哈~): 大家看到这个觉得这不是很简单的吗,这不就是写个布局文件就搞定嘛,没错,确实直接上布局就行,不过,我只是用这个...
在C#.NET 2008中,组合控件(Composite Control)是一种强大的设计工具,它允许开发者将多个Windows Forms控件或者自定义控件组合在一起,形成一个新的、功能更丰富的用户界面元素。这种控件的创建是通过继承System....
"C#自定义翻页组合控件"是一个专为提升用户体验而设计的组件,它允许用户在大量数据中进行便捷的分页浏览。下面我们将深入探讨这个自定义翻页控件的设计理念、实现方式以及其关键功能。 1. **设计理念** 自定义...