- 浏览: 52305 次
最新评论
监听器:
监听器 | 方法 | 内容 |
OnClickListener | onClick | 监听点击事件(点击或按下导航键) |
OnClickListener | onLongClick | 监听长按事件(保持点击或按住导航键) |
OnClickListener | onKey | 监听物理按件(点击或松开物理导航键,上下左右键) |
OnTouchListener | onTouch | 监听触摸事件(点击滑动弹起等) |
设置监听器:
方法一:定义一个OnClickListener类的实例,并使用setOnClickListener等绑定监听器。
方法二:用Activity来实现OnClickListener接口。
其中第一种通常用匿名内部类或者内部类来实现。而第二种更加简洁,更加高效,特别是在很多空间需要添加监听器的情况下。
界面:
<Button android:id="@+id/button" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="MyButton" /> <TextView android:id="@+id/textview" android:layout_width="fill_parent" android:layout_height="wrap_content" />
在onLongClick中,返回值必须为true;消费概念:当时间完成对一个view的操作后,只需要返回true,表示该控件已经被消费了,后面的时间就不会被调用了。
ACTION_DOWN 按下
ACTION_MOVE 滑动
ACTION_UP 弹起
ACTION_DOWN为起始事件,如果调用了其他两个方法,这个是肯定先被调用。
package example.first; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnLongClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity { private Button bt; private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv=(TextView)findViewById(R.id.textview); bt=(Button)findViewById(R.id.button); //匿名内部类作为监听器 bt.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub tv.setText("你点击了button"); } }); bt.setOnLongClickListener(new OnLongClickListener(){ @Override public boolean onLongClick(View arg0) { // TODO Auto-generated method stub tv.setText("你长按了button"); return true; //注意这里必须return true } }); } @Override public boolean onKeyDown(int keyCode,KeyEvent event){ switch(keyCode){ case KeyEvent.KEYCODE_DPAD_UP:tv.setText("你按下了上方向键");//监听按下上方向键 break; case KeyEvent.KEYCODE_DPAD_DOWN:tv.setText("你按下了下方向键"); } return super.onKeyDown(keyCode, event); } @Override public boolean onKeyUp(int keyCode,KeyEvent event){ switch(keyCode){ case KeyEvent.KEYCODE_DPAD_UP:tv.setText("你松开了了上方向键"); break; case KeyEvent.KEYCODE_DPAD_DOWN:tv.setText("你松开了下方向键"); } return super.onKeyUp(keyCode, event); } public boolean onTouchEvent(MotionEvent event){ int x=(int)event.getX(); int y=(int)event.getY(); switch(event.getAction()){ case MotionEvent.ACTION_MOVE:tv.setText("你滑动了屏幕"); break; case MotionEvent.ACTION_DOWN:tv.setText("你点击的屏幕坐标为" +Integer.toString(x)+","+Integer.toString(y));//取得点击的坐标 break; case MotionEvent.ACTION_UP:tv.setText("你离开屏幕的坐标为" +Integer.toString(x)+","+Integer.toString(y));//取得松开时的坐标 break; } return true; //最好是return true } }
运行效果:
Button效果;状态列表(statelist实现)
根标签setector
一个item定义一种状态(按下 选中 无焦点状态)
item下有shape标签,用来定义控件的显示效果,含有gradient,stoke,corners等子标签分别表示不同的效果。
在stoke圆角标签中,分别指定每个角的弧度时,bottomRightRadius代表左下角,bottomLeftRadius代表右下角。
发表评论
-
anddroid 程序发布
2012-10-07 11:15 728右击项目文件,选择Export 选择保存密钥 ... -
Map操作总结
2012-10-04 12:30 738设置mapView显示用于缩放的工具条 ... -
google map
2012-09-29 20:33 910com.google.android.maps包, ... -
定位(5):代替Geocoder
2012-09-29 19:41 1288https://developers.google.com/m ... -
HttpClient工具类
2012-10-01 12:08 727在Android开发中我们经常会用到网络连接功能与服务器进行数 ... -
定位(4)
2012-09-29 22:12 6911.Geocoding介绍 是google的所提供的一项服务 ... -
定位(3:)追踪用户的位置
2012-09-27 21:01 513追踪用户的位置:得到用户移动的轨迹 注册权限: &l ... -
定位(2):选择最好的provider
2012-09-27 20:43 12161.获取最佳的Location Provider GPS ... -
定位(1):获取位置
2012-09-27 17:21 6191.User Location能做什么? 获取用户的位置;3 ... -
错误总结
2012-09-26 21:22 735重启adb: 使用ADB工具,运行CMD,敲入如下命令 ... -
(九)菜单
2012-09-26 20:11 828menu键触发 三种形式:普通的option menu;上下 ... -
(七)常用控件:TextView EditView
2012-09-25 19:50 1002TextView 布局: <TextView ... -
(六)界面优化
2012-09-24 20:22 479<merge/><include/><viewstub/> -
(五)层级管理器
2012-09-24 20:18 704android-sdk-windows\tools 目录下打 ... -
(四)布局
2012-09-24 17:46 704padding:描述控件里面的内容与控件的关机,内边距;有四个 ... -
(三)Activity生命周期
2012-09-24 17:04 807新的activity启动后,前一个activity ... -
(二)程序调试
2012-09-24 15:26 697一:LOG 的用法: package com.ex ... -
(一)开发环境搭建
2012-09-16 20:31 611最近半个月时间看得头都疼了,不喜欢天天对着电脑,但是肿么办呢, ... -
安卓SDK无法下载Package
2012-09-16 18:55 814打开目录: 用记事本打开:hosts ...
相关推荐
在Visual Basic(VB)编程环境中,按钮控件是不可或缺的一部分,它们用于接收用户输入并触发特定的事件或功能。"VB按钮控件大全"显然是一份包含多种样式和功能的VB按钮控件集合,旨在为开发者提供丰富的选择,以增强...
C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮...
【JCButton按钮控件正式版】是一款专为开发者设计的高效、可定制化的GUI界面元素,主要用于提升应用程序的用户交互体验。此控件在Windows应用开发中尤其常见,能够提供丰富的样式、效果以及自定义事件处理,使得按钮...
在C#编程中,创建一个圆形按钮控件可以极大地提升应用程序的界面美观度和用户体验。以下将详细讲解如何实现这个功能,以及相关的知识点。 首先,我们需要理解C#中的控件和自定义控件的概念。控件是用户界面的基本...
首先,"vb皮肤按钮控件可用"指的是在VB项目中引入了具有独特视觉效果的按钮控件,这种控件通常被称为皮肤按钮。它不同于传统的默认按钮,皮肤按钮提供了更多的自定义选项,如颜色、形状、边框样式等,使用户能够根据...
在VB(Visual Basic)编程环境中,开发者经常遇到标准按钮控件功能相对有限的情况,例如,按钮的样式单一、交互效果不丰富等。标题提到的"按钮控件(解决vb按钮功能不强的问题,免费!!)"正是为了解决这个问题而...
在LabVIEW中,自定义按钮控件是用户界面设计中的一个重要元素,它可以为你的应用程序增添独特的外观和功能。标题提到的“labview自定义按钮控件”是一个自定义UI组件,提供了比标准LabVIEW按钮更丰富的视觉效果或...
8.如何在程序窗口中创建按钮控件?(Visual C++编程 源代码)8.如何在程序窗口中创建按钮控件?(Visual C++编程 源代码)8.如何在程序窗口中创建按钮控件?(Visual C++编程 源代码)8.如何在程序窗口中创建按钮...
在VB(Visual Basic)编程环境中,开发者经常需要创建和使用各种控件,其中包括按钮控件。按钮是用户界面中常见的元素,用于触发特定的操作或事件。然而,VB默认的按钮样式可能较为简单,无法满足一些高级用户界面...
VB酷按钮控件是一种在Visual Basic (VB)编程环境中使用的用户界面组件,它为开发者提供了类似于Windows XP操作系统中流行的浮动式、美观的按钮效果。这种控件通常通过ActiveX技术实现,可以为应用程序增添视觉吸引力...
VB漂亮的按钮控件 VB漂亮的按钮控件 VB漂亮的按钮控件 VB漂亮的按钮控件
在VB6(Visual Basic 6)编程环境中,开发者经常需要用到各种各样的控件来构建用户界面,其中图片按钮控件是一种增强用户交互体验的重要元素。本文将深入探讨VB6中的图片按钮控件及其使用方法,结合提供的"Ibutton...
在IT领域,尤其是在软件开发中,用户界面(UI)的设计至关重要,而按钮控件作为用户交互的核心元素,其设计和实现的优劣直接影响到用户的使用体验。这个名为"国外优秀的按钮控件源码集合"的资源包,正是一个专门收集和...
在IT行业中,按钮控件是用户界面(UI)设计中不可或缺的一部分,它们允许用户执行特定操作或触发事件。"完整版扩展按钮控件"通常指的是一个包含多种样式、功能和定制选项的按钮组件库,旨在为开发者提供更丰富的选择...
在本案例中,我们关注的是“自定义水晶按钮控件”。这个控件可能是在C#编程环境下,通过继承.NET Framework的基类并扩展其功能来实现的。水晶按钮控件可能是对标准Windows Forms Button控件的美化或者功能增强,它...
基于Qt和C++实现的高亮发光按钮控件+源码 基于Qt和C++实现的高亮发光按钮控件+源码 基于Qt和C++实现的高亮发光按钮控件+源码 基于Qt和C++实现的高亮发光按钮控件+源码 基于Qt和C++实现的高亮发光按钮控件+源码 ...
本文将深入探讨“Delphi透明按钮控件”的实现方式,以及如何利用提供的"FlatSpeedbutton"资源来设计这样的控件。 Delphi透明按钮控件是一种自定义的按钮组件,它允许开发人员在界面上创建具有透明背景的按钮,从而...
在LabVIEW中,按钮控件是用户界面(UI)设计中的重要元素,用于接收用户的输入和触发特定的程序行为。 "labview 按钮控件"这个主题主要涉及LabVIEW中不同类型的按钮以及它们的使用方法。按钮控件分为多种类型,例如...
在MFC中,我们有时需要创建更具有视觉吸引力的控件,比如位图按钮,这正是“MFC的位图按钮控件”所涉及的核心概念。位图按钮控件允许我们将自定义的图像应用到按钮上,不仅包含常规状态下的图像,还可以包括按钮被...