`
1140566087
  • 浏览: 559155 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18530
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:314112
Group-logo
J2ME 基础学习课程集
浏览量:18737
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17581
社区版块
存档分类
最新评论

Android 之 自定义控件用法介绍

阅读更多
自定义效果:实现:图片和文字混合

首先创建需要组合的子布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/myimage"
        android:layout_width="30dp"
        android:layout_height="30dp" />

    <TextView
        android:id="@+id/mytext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="确定" />

</LinearLayout>


编写代码,为自定义控件设置值:
package com.example.userdefinedview;

import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

/**
 * 自定义 组建的实现 --
 * 功能:复合组件
 * @author Administrator
 *
 */
public class MyLinearLayout extends LinearLayout {

	// 声明对象属性
	private ImageView myimage;
	private TextView mytext; 
	
	public MyLinearLayout(Context context, AttributeSet attrs) {
		super(context, attrs);
		LayoutInflater.from(context).inflate(R.layout.my_linearlayout,this,true); //视图容器装载
		myimage = (ImageView) findViewById(R.id.myimage); // 获取对象
		mytext = (TextView) findViewById(R.id.mytext);
	}
	
	/**
	 * 设置图片资源
	 * @param resID 资源ID
	 */
	public void setImageViewImageResource(int resID){
		myimage.setImageResource(resID);
	}
	
	/**
	 * 设置文本内容
	 * @param text 字符信息
	 */
	public void setMyTextText(String text){
		mytext.setText(text);
	}
	
}



主布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <com.example.userdefinedview.MyLinearLayout
        android:id="@+id/my1"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:background="#ff00ff"
         />

    <com.example.userdefinedview.MyLinearLayout
        android:layout_marginLeft="20dp"
        android:id="@+id/my2"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
       	android:background="#ff00ff"
       />

</LinearLayout>




主程序入口代码:
package com.example.userdefinedview;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;

public class MainActivity extends Activity {

	private MyLinearLayout my1;
	private MyLinearLayout my2;

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		my1 = (MyLinearLayout) findViewById(R.id.my1);
		my2 = (MyLinearLayout) findViewById(R.id.my2);

		my1.setImageViewImageResource(R.drawable.a1);
		my1.setMyTextText("确定");

		my2.setImageViewImageResource(R.drawable.a6);
		my2.setMyTextText("取消");

		my1.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				
				Toast.makeText(MainActivity.this, "点击了确定",Toast.LENGTH_LONG).show();
			}
		});
		my2.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				Toast.makeText(MainActivity.this, "点击了取消",Toast.LENGTH_LONG).show();
			}
		});
	}



}
分享到:
评论

相关推荐

    Android自定义控件开发入门与实战.zip

    《Android自定义控件开发入门与实战》这本书深入浅出地讲解了如何在Android平台上创建和使用自定义控件,旨在帮助开发者从基础知识到实战技巧,全方位掌握这一核心技术。 一、自定义控件基础 自定义控件在Android中...

    mono for android 之 自定义控件

    通过这些步骤,你可以在Mono for Android中成功创建并使用自定义控件。这不仅可以使你的应用界面更加个性化,还能提高代码的复用性,减少工作量。对于初学者来说,理解并实践这些知识点是提升Android开发技能的关键...

    Android 编写自定义控件实例

    在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。本教程将通过一个具体的实例——saRoundProgressBarDemo,来教你如何编写一个自定义的圆形进度条控件。这个自定义控件不仅提供了基本的进度显示...

    安卓自定义控件相关-Android自定义控件源码.rar

    这个压缩包"Android自定义控件源码.rar"包含了一些自定义控件的源代码,虽然不能保证每个都可直接运行,但它们提供了丰富的学习资源,帮助开发者理解和实践自定义控件的创建过程。下面将详细探讨Android自定义控件的...

    android之自定义开关控件

    在Android开发中,自定义控件是提升应用用户体验和界面美观度的重要手段。"android之自定义开关控件"这个主题旨在教你如何在Android平台上创建一个类似苹果iOS Toggle的自定义开关组件。以下是对这个主题的详细讲解...

    【Android进阶】(1)用继承和组合方式自定义控件

    在Android开发中,自定义控件是提升应用用户体验和界面设计独特性的重要手段。本教程主要探讨如何通过继承和组合的方式来自定义控件,适用于已经有一定Android基础的开发者进行进阶学习。 首先,我们来理解自定义...

    Android自定义控件示例

    这个压缩包“CustomViews”很可能是包含了一系列Android自定义控件的示例项目,旨在帮助开发者理解和学习如何在Android Studio 1.0.2环境下创建和使用自定义控件。 自定义控件通常涉及以下关键知识点: 1. **...

    Android简单实现自定义控件

    在Android开发中,自定义控件是提升应用独特性和用户体验的有效方式。本教程将引导初学者如何简单地创建一个自定义控件,该控件基于`LinearLayout`进行扩展。通过这个过程,我们可以深入理解Android UI组件的工作...

    Android 自定义控件 组合控件

    这样,在XML布局文件中就可以像使用系统自带控件一样使用自定义控件,只需要引入对应的XML标签即可。 最后,考虑到`custom_widget`这个文件夹名,这可能是存放自定义控件相关资源的地方,包括布局文件(如`layout....

    android自定义控件源码

    本资源"android自定义控件源码"提供了一套详细的自定义控件实现案例,帮助开发者深入理解自定义控件的工作原理和实现方法。配合文章《Android自定义控件深度解析》(文章地址:...

    自定义控件Demo

    在Android开发中,自定义控件是提升应用界面独特...通过学习和分析`customcontrols`中的代码,开发者可以深入理解Android自定义控件的工作原理,提高自己的Android开发技能,同时也能为今后的项目开发积累宝贵的经验。

    Android 自定义组合控件案例

    以下将详细介绍Android自定义组合控件的相关知识点。 一、自定义控件的分类 1. 组件扩展:对现有控件进行功能增强或样式修改,例如自定义Button增加动画效果。 2. 组合控件:结合多个基础控件,形成新的复合控件,...

    Android自定义控件的demo

    在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。本示例将深入讲解如何基于Android系统实现一个自定义的Button控件,该控件由一个ImageView和一个TextView组成,并添加了标签功能。以下我们将从...

    android 开发进阶 自定义控件 类似 TextView

    4. **事件处理**:如果自定义控件需要响应用户的触摸事件或者其他交互,你需要重写`onTouchEvent()`等方法,或者使用`GestureDetector`等工具处理手势。 5. **样式与主题**:为了让自定义控件融入到应用的整体风格...

    Android开发之自定义控件用法详解

    总之,Android自定义控件是实现个性化界面和高效开发的关键技术。理解并熟练掌握自定义控件的定义和使用,对于任何Android开发者来说都是至关重要的。通过不断地实践和学习,你可以创造出更多富有创新性的用户界面,...

    Android自定义组合控件

    在Android开发中,自定义控件是提升应用界面独特性和用户体验的重要手段。本文将深入探讨如何根据【标题】"Android自定义...如果你下载并研究这个"自定义组合控件"的示例,相信你会对Android自定义控件有更深入的理解。

    Android自定义Progress控件的方法

    本文将详细介绍 Android 自定义 Progress 控件的方法,包括自定义控件的创建、布局设计、属性设置、进度条显示等方面的知识点。 自定义控件的创建 自定义控件是指根据业务需求,使用 Java 语言编写的控件类。...

    Android使用系统控件组合成新的自定义控件

    在Android开发中,自定义控件是提升应用用户体验和界面设计独特性的重要手段。通过将系统提供的基础控件进行组合和扩展,我们可以创造出满足特定需求的复杂组件。本教程将深入探讨如何在Android Studio中利用现有...

    Android自定义控件之拖动条

    本文将深入探讨如何创建一个美观的自定义拖动条控件,即"Android自定义控件之拖动条"。我们将讨论以下几个关键知识点: 1. **基础知识**:在Android中,基本的滑动条控件是`SeekBar`,它允许用户通过拖动滑块来选择...

Global site tag (gtag.js) - Google Analytics