- 浏览: 47946 次
最新评论
监听器:
监听器 | 方法 | 内容 |
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 641右击项目文件,选择Export 选择保存密钥 ... -
Map操作总结
2012-10-04 12:30 671设置mapView显示用于缩放的工具条 ... -
google map
2012-09-29 20:33 868com.google.android.maps包, ... -
定位(5):代替Geocoder
2012-09-29 19:41 1222https://developers.google.com/m ... -
HttpClient工具类
2012-10-01 12:08 674在Android开发中我们经常会用到网络连接功能与服务器进行数 ... -
定位(4)
2012-09-29 22:12 6551.Geocoding介绍 是google的所提供的一项服务 ... -
定位(3:)追踪用户的位置
2012-09-27 21:01 454追踪用户的位置:得到用户移动的轨迹 注册权限: &l ... -
定位(2):选择最好的provider
2012-09-27 20:43 11831.获取最佳的Location Provider GPS ... -
定位(1):获取位置
2012-09-27 17:21 5851.User Location能做什么? 获取用户的位置;3 ... -
错误总结
2012-09-26 21:22 653重启adb: 使用ADB工具,运行CMD,敲入如下命令 ... -
(九)菜单
2012-09-26 20:11 752menu键触发 三种形式:普通的option menu;上下 ... -
(七)常用控件:TextView EditView
2012-09-25 19:50 948TextView 布局: <TextView ... -
(六)界面优化
2012-09-24 20:22 394<merge/><include/><viewstub/> -
(五)层级管理器
2012-09-24 20:18 642android-sdk-windows\tools 目录下打 ... -
(四)布局
2012-09-24 17:46 637padding:描述控件里面的内容与控件的关机,内边距;有四个 ... -
(三)Activity生命周期
2012-09-24 17:04 720新的activity启动后,前一个activity ... -
(二)程序调试
2012-09-24 15:26 661一:LOG 的用法: package com.ex ... -
(一)开发环境搭建
2012-09-16 20:31 568最近半个月时间看得头都疼了,不喜欢天天对着电脑,但是肿么办呢, ... -
安卓SDK无法下载Package
2012-09-16 18:55 739打开目录: 用记事本打开:hosts ...
相关推荐
C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮...
旋转按钮控件旋转按钮控件旋转按钮控件旋转按钮控件
JCButton按钮控件正式版JCButton按钮控件正式版JCButton按钮控件正式版JCButton按钮控件正式版
8.如何在程序窗口中创建按钮控件?(Visual C++编程 源代码)8.如何在程序窗口中创建按钮控件?(Visual C++编程 源代码)8.如何在程序窗口中创建按钮控件?(Visual C++编程 源代码)8.如何在程序窗口中创建按钮...
VB漂亮的按钮控件 VB漂亮的按钮控件 VB漂亮的按钮控件 VB漂亮的按钮控件
c#实现圆形按钮控件
收集几个经典的(OCX)按钮控件
分享一个工控用途的按钮控件,显示手动/自动,启动/停止等自定义状态类型,可以横向、纵向定义,图形漂亮,文档提供了基于VB2017,win10下开发的完整工程例子,注意:由于公司规定,DLL文件没有提供源码,打包文件...
VB漂亮的按钮控件,用户控件, 这款比较经典的JCButton按钮控件,目前已经是最新的V1.7(其实早就出来了:-),目前除了支持多种样式风格的按钮外,还对中文进行完美支持,即UNICODE支持。同时比上一版本额外增加了一个...
JCButton VB按钮控件及示例包(源码) JCButton VB按钮控件及示例包(源码) JCButton VB按钮控件及示例包(源码)
pb9下经过美化的按钮控件,图标按钮控件,newstylebutton 使用时只需要继承如下类即可 u_newstyle_button_flat 扁平按钮 u_newstyle_button_gradient 渐变按钮 u_newstyle_button_xp xp风格按钮
一个好用的VB按钮控件 一个好用的VB按钮控件 一个好用的VB按钮控件
vc++ MFC 界面设计编程 各种控件设计,包括树控件,视图控件,静态文本,按钮控件,旋转控件,组合狂,tab控件等等,欢迎下载啊。(树控件)
很漂亮的labview自定义按钮控件源代码,可以直接调用
EXT dojoChina按钮控件示例 Ext.Button.rarEXT dojoChina按钮控件示例 Ext.Button.rarEXT dojoChina按钮控件示例 Ext.Button.rarEXT dojoChina按钮控件示例 Ext.Button.rar
C#水晶按钮控件详细代码示例模块,供初学者参考学习用
完整版扩展按钮控件.rar
增强型VB按钮控件,带有源代码,可以自己开发
wpf 用户控件 按钮.如果你不会用,我无法可说