自定义按钮
1》定义按钮布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
>
<ImageView
android:id="@+id/iconMoney"
android:layout_width="25dp"
android:layout_height="fill_parent"
>
</ImageView>
<TextView
android:id="@+id/numMeoney"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:text="4444"
android:textSize="20dp"
android:layout_marginTop="0dp"
android:layout_marginBottom="3dp"
android:layout_marginLeft="8dp"
>
</TextView>
<ImageView
android:layout_marginLeft="5dp"
android:id="@+id/iconAdd"
android:layout_width="25dp"
android:layout_height="fill_parent"
>
</ImageView>
</LinearLayout>
2》继承布局文件
package com.widget;
import android.content.Context;
import android.graphics.Bitmap;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.dreamplanegames.R;
public class MoneyView extends LinearLayout {
private ImageView iconMoney;
private TextView textView;
private ImageView Addmoney;
public MoneyView(Context context,AttributeSet attributeSet) {
super(context, attributeSet);
LayoutInflater.from(context).inflate(R.layout.money, this,true);//指定布局
this.iconMoney = (ImageView)findViewById(R.id.iconMoney);
this.textView = (TextView)findViewById(R.id.numMeoney);
this.Addmoney=(ImageView)findViewById(R.id.iconAdd);
this.setClickable(true);//可以点击
this.setFocusable(true);
}
//设置控件内容
public void setText(String text) {
this.textView.setText(text);
}
public void setTextColor(int color) {
this.textView.setTextColor(color);
}
public void setTextSize(float size) {
this.textView.setTextSize(size);
}
public void setImg(Bitmap img1,Bitmap img2) {
this.iconMoney.setImageBitmap(img1);
this.Addmoney.setImageBitmap(img2);
//this.yes.setImageBitmap(img2);
}
}
3》控件的调用
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView android:id="@+id/mainMenuImage"
android:src="@drawable/xk_bg2"
android:scaleType="fitXY"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ImageView>
//调用自定义控件
<com.widget.MoneyView--------------------类名
android:layout_width="wrap_content"
android:layout_height="30dp"
android:id="@+id/btnMoney"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"
>
</com.widget.MoneyView>
</RelativeLayout>
4》到相应的activity调用
public class SFMainMenu extends Activity implements View.OnClickListener
{
public MoneyView moneyview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
//去除应用程序标题
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//设置竖屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView(R.layout.main);
//获取自定义按钮
moneyview=(MoneyView)findViewById(R.id.btnMoney);
//调用自定义控件的函数设置控件内容
moneyview.setImg(BitmapFactory.decodeResource(getResources(), R.drawable.money),BitmapFactory.decodeResource(getResources(), R.drawable.add));
moneyview.setText(""+myPointBalance);
//自定义按钮响应事件
moneyview.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
}
//返回键
@Override
public void onBackPressed() {
super.onBackPressed();
}
}
相关推荐
《Android自定义控件开发入门与实战》这本书深入浅出地讲解了如何在Android平台上创建和使用自定义控件,旨在帮助开发者从基础知识到实战技巧,全方位掌握这一核心技术。 一、自定义控件基础 自定义控件在Android中...
Android自定义控件开发入门与实战从自定义基础到实战的讲解。一步步深入。适合有一定Android基础的读者。本压缩包中自带了推荐的pdf阅读器。大家要是喜欢这本文档,推荐去京东,天猫,当当买支持一下默默付出的作者...
这个压缩包“CustomViews”很可能是包含了一系列Android自定义控件的示例项目,旨在帮助开发者理解和学习如何在Android Studio 1.0.2环境下创建和使用自定义控件。 自定义控件通常涉及以下关键知识点: 1. **...
本文将深入探讨Android自定义控件的概念、重要性以及如何通过重写已有控件来扩展其功能,帮助开发者从初阶迈进高阶。 首先,我们了解什么是自定义控件。在Android系统中,预置了大量的标准控件,如Button、TextView...
本资源"android自定义控件源码"提供了一套详细的自定义控件实现案例,帮助开发者深入理解自定义控件的工作原理和实现方法。配合文章《Android自定义控件深度解析》(文章地址:...
本文将深入讲解如何进行Android自定义控件的开发,包括理解View的工作原理、创建自定义控件的几种方式以及如何为自定义控件添加属性。 首先,我们需要理解View的基本结构和工作原理。Android的视图系统采用组合模式...
1 本书从动画、绘图、视图三方面介绍Android自定义控件相关知识,内容系统全面,并配以翔实的案例。 2 Android自定义控件涉及动画和色彩,本书将图片地址制作成二维码,可供读者扫描观看。 3 本书适合初高级水平从业...
至此,我们完成了一个简单的Android自定义控件,它能展示图片和文字。然而,自定义控件的能力远不止于此。你可以添加更多的功能,如触摸事件处理、动画效果,甚至动态改变内容。通过深入理解Android的绘图API和布局...
在Android开发中,自定义控件和框架的运用是提升应用独特性和性能的关键。下面将对"android 自定义控件实现demo收集 及 框架收集"这一主题进行深入探讨。 首先,自定义控件在Android应用开发中扮演着重要角色。它们...
《Android自定义控件入门到实战》源码提供了一套完整的自定义控件学习资源,涵盖了从基础到高级的各种实例,帮助开发者深入理解和实践Android自定义控件的开发。 自定义控件的核心在于扩展Android内置的View或...
《Android自定义控件入门到实战》是一本深入讲解Android平台下自定义控件开发的教程,源码2018.10版提供了一套完整的实践案例,帮助开发者从基础到进阶全面掌握自定义控件的制作技巧。这份资料涵盖了从基本的自定义...
这个压缩包"Android自定义控件源码.rar"包含了一些自定义控件的源代码,虽然不能保证每个都可直接运行,但它们提供了丰富的学习资源,帮助开发者理解和实践自定义控件的创建过程。下面将详细探讨Android自定义控件的...
总结起来,Android自定义组合控件的实现涉及到了对Android UI框架的深入理解和实践,包括继承自定义View或ViewGroup、测量与布局、绘制、事件处理等关键步骤。通过这样的方式,开发者可以构建出功能强大、交互丰富的...
总之,实现Android自定义控件的Java代码语法高亮是一项涉及正则表达式、线程管理和UI更新的技术挑战。合理利用现有的开源库,结合Android系统提供的工具,可以构建出功能强大且用户体验良好的自定义EditText控件。在...
在Android开发中,自定义控件是提升应用界面独特...通过学习和分析`customcontrols`中的代码,开发者可以深入理解Android自定义控件的工作原理,提高自己的Android开发技能,同时也能为今后的项目开发积累宝贵的经验。
在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。本示例将深入讲解如何基于Android系统实现一个自定义的Button控件,该控件由一个ImageView和一个TextView组成,并添加了标签功能。以下我们将从...
Android自定义控件源码含APK 仿Material Design风格,在低版本android环境上面实现高版本中的按钮等UI控件,视觉效果提升,本源码将向你介绍一些方法,实现这种效果。注:本源码中使用的控件是原作者已经封装好的,...
在Android应用开发中,自定义控件是提升用户体验和界面个性化的重要手段。本文将深入探讨如何实现一个自定义的...不断学习和实践,将帮助你更好地理解和掌握Android自定义控件的精髓,为你的应用带来更丰富的用户体验。