自定义效果:实现:图片和文字混合
首先创建需要组合的子布局:
<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自定义控件开发入门与实战》这本书深入浅出地讲解了如何在Android平台上创建和使用自定义控件,旨在帮助开发者从基础知识到实战技巧,全方位掌握这一核心技术。 一、自定义控件基础 自定义控件在Android中...
通过这些步骤,你可以在Mono for Android中成功创建并使用自定义控件。这不仅可以使你的应用界面更加个性化,还能提高代码的复用性,减少工作量。对于初学者来说,理解并实践这些知识点是提升Android开发技能的关键...
在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。本教程将通过一个具体的实例——saRoundProgressBarDemo,来教你如何编写一个自定义的圆形进度条控件。这个自定义控件不仅提供了基本的进度显示...
这个压缩包"Android自定义控件源码.rar"包含了一些自定义控件的源代码,虽然不能保证每个都可直接运行,但它们提供了丰富的学习资源,帮助开发者理解和实践自定义控件的创建过程。下面将详细探讨Android自定义控件的...
在Android开发中,自定义控件是提升应用用户体验和界面美观度的重要手段。"android之自定义开关控件"这个主题旨在教你如何在Android平台上创建一个类似苹果iOS Toggle的自定义开关组件。以下是对这个主题的详细讲解...
在Android开发中,自定义控件是提升应用用户体验和界面设计独特性的重要手段。本教程主要探讨如何通过继承和组合的方式来自定义控件,适用于已经有一定Android基础的开发者进行进阶学习。 首先,我们来理解自定义...
这个压缩包“CustomViews”很可能是包含了一系列Android自定义控件的示例项目,旨在帮助开发者理解和学习如何在Android Studio 1.0.2环境下创建和使用自定义控件。 自定义控件通常涉及以下关键知识点: 1. **...
在Android开发中,自定义控件是提升应用独特性和用户体验的有效方式。本教程将引导初学者如何简单地创建一个自定义控件,该控件基于`LinearLayout`进行扩展。通过这个过程,我们可以深入理解Android UI组件的工作...
这样,在XML布局文件中就可以像使用系统自带控件一样使用自定义控件,只需要引入对应的XML标签即可。 最后,考虑到`custom_widget`这个文件夹名,这可能是存放自定义控件相关资源的地方,包括布局文件(如`layout....
本资源"android自定义控件源码"提供了一套详细的自定义控件实现案例,帮助开发者深入理解自定义控件的工作原理和实现方法。配合文章《Android自定义控件深度解析》(文章地址:...
在Android开发中,自定义控件是提升应用界面独特...通过学习和分析`customcontrols`中的代码,开发者可以深入理解Android自定义控件的工作原理,提高自己的Android开发技能,同时也能为今后的项目开发积累宝贵的经验。
以下将详细介绍Android自定义组合控件的相关知识点。 一、自定义控件的分类 1. 组件扩展:对现有控件进行功能增强或样式修改,例如自定义Button增加动画效果。 2. 组合控件:结合多个基础控件,形成新的复合控件,...
在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。本示例将深入讲解如何基于Android系统实现一个自定义的Button控件,该控件由一个ImageView和一个TextView组成,并添加了标签功能。以下我们将从...
4. **事件处理**:如果自定义控件需要响应用户的触摸事件或者其他交互,你需要重写`onTouchEvent()`等方法,或者使用`GestureDetector`等工具处理手势。 5. **样式与主题**:为了让自定义控件融入到应用的整体风格...
总之,Android自定义控件是实现个性化界面和高效开发的关键技术。理解并熟练掌握自定义控件的定义和使用,对于任何Android开发者来说都是至关重要的。通过不断地实践和学习,你可以创造出更多富有创新性的用户界面,...
在Android开发中,自定义控件是提升应用界面独特性和用户体验的重要手段。本文将深入探讨如何根据【标题】"Android自定义...如果你下载并研究这个"自定义组合控件"的示例,相信你会对Android自定义控件有更深入的理解。
本文将详细介绍 Android 自定义 Progress 控件的方法,包括自定义控件的创建、布局设计、属性设置、进度条显示等方面的知识点。 自定义控件的创建 自定义控件是指根据业务需求,使用 Java 语言编写的控件类。...
在Android开发中,自定义控件是提升应用用户体验和界面设计独特性的重要手段。通过将系统提供的基础控件进行组合和扩展,我们可以创造出满足特定需求的复杂组件。本教程将深入探讨如何在Android Studio中利用现有...
本文将深入探讨如何创建一个美观的自定义拖动条控件,即"Android自定义控件之拖动条"。我们将讨论以下几个关键知识点: 1. **基础知识**:在Android中,基本的滑动条控件是`SeekBar`,它允许用户通过拖动滑块来选择...