标签:android应用
package com.example.androidevent;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class EventTest1 extends Activity implements OnClickListener
{
private TextView content;
int flag=0; //字体样式标识
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
content = (TextView)findViewById(R.id.content);
//1.颜色:内部类形式
Button redBtn = (Button)findViewById(R.id.red);
Button greenBtn = (Button)findViewById(R.id.green);
Button blueBtn = (Button)findViewById(R.id.blue);
EventListener inner = new EventListener(); //实例化一个事件监听器对象
redBtn.setOnClickListener(inner); //向以下界面组件注册同一个事件监听器
greenBtn.setOnClickListener(inner);
blueBtn.setOnClickListener(inner);
//2.字体大小:外部类形式
Button bigger = (Button)findViewById(R.id.big);
Button smaller = (Button)findViewById(R.id.small);
OuterListener outer = new OuterListener(content);//实例化一个事件监听器对象
bigger.setOnClickListener(outer);
smaller.setOnClickListener(outer);
//3.字体样式:类自身作为事件监听器
Button boldBtn = (Button)findViewById(R.id.bold);
Button inclineBtn = (Button)findViewById(R.id.incline);
Button normalBtn = (Button)findViewById(R.id.normal);
boldBtn.setOnClickListener(this); //向以下界面组件注册同一个事件监听器
inclineBtn.setOnClickListener(this);
normalBtn.setOnClickListener(this);
//4.匿名内部类
final EditText text = (EditText)findViewById(R.id.text);
text.setOnClickListener(new OnClickListener(){
public void onClick(View v)
{
String contentText=text.getText().toString();
content.setText(contentText); //将编辑框内容设置到文本显示框中
}
});
}
/*方法一:内部类形式
* 在onClick函数中,通过视图的getId()方法判定产生事件组件的ID并作出相应的响应*/
public class EventListener implements OnClickListener
{
public void onClick(View arg0) {
switch(arg0.getId())
{
case R.id.red: //设置红色按钮被按下
content.setTextColor(Color.RED);
break;
case R.id.green:
content.setTextColor(Color.GREEN);
break;
case R.id.blue:
content.setTextColor(Color.BLUE);
break;
default:
break;
}
}
}
/*方法3.类自身作为事件监听器*/
@Override
public void onClick(View v)
{
//flag为样式标识,当flag=0表示默认,flag=1表示倾斜,flag=2表示加粗,flag=3表示倾斜又加粗
switch(v.getId())
{
case R.id.bold: //设置加粗
if(flag==1||flag==3)
{
content.setTypeface(Typeface.MONOSPACE,Typeface.BOLD_ITALIC); //设置系统默认的字体样式
flag=3;
}
else
{
content.setTypeface(Typeface.MONOSPACE,Typeface.BOLD);
flag=2;
}
break;
case R.id.incline:
if(flag==2 || flag==3)
{
content.setTypeface(Typeface.MONOSPACE,Typeface.BOLD_ITALIC); //设置系统默认的字体样式
flag=3;
}else
{
content.setTypeface(Typeface.MONOSPACE,Typeface.ITALIC);
flag=1;
}
break;
case R.id.normal:
content.setTypeface(Typeface.MONOSPACE,Typeface.NORMAL); //设置系统默认的字体样式
flag=0;
break;
default:
break;
}
}
}package com.example.androidevent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
/*外部类形式*/
public class OuterListener implements OnClickListener
{
private TextView text;
private float size;
//构造方法1:将文本组件对象作为参数传递并赋值给类成员对象
public OuterListener(TextView t)
{
this.text = t;
}
//构造方法2
public OuterListener()
{
super();
}
public void onClick(View v)
{
size= text.getTextSize(); //获取文本字体大小
switch(v.getId())
{
case R.id.big :
{
size+=4;
break;
}
case R.id.small :
{
size-=4;
break;
}
default:
break;
}
//设置最值限度
if(size<=8)
size=8;
if(size>=72)
size=72;
text.setTextSize(size);
}
}
|
事件 |
接口 |
处理方法 |
描述 |
|
单击事件 |
View.OnClickListener |
abstract void onClick (View v) |
单击组件时触发 |
|
单击事件 |
View.OnLongClickListener |
abstract boolean onLongClick (View v) |
长按组件时触发 |
|
键盘事件 |
View.OnKeyListener |
abstract boolean onKey(View v, int keyCode, KeyEvent event) |
处理键盘事件 |
|
焦点事件 |
View.OnFocusChangeListener |
abstract void onFocusChange (View v, boolean hasFocus) |
当焦点发生改变时触发 |
|
触摸事件 |
View.OnTouchListener |
abstract boolean onTouch (View v, MotionEvent event) |
产生触摸事件 |
|
方法 |
描述 |
|
void setOnClickListener(View.OnClickListener l) |
注册单击事件 |
|
void setOnLongClickListener(View.OnLongClickListener l) |
注册长按事件 |
|
void setOnKeyListener(View.OnKeyListener l) |
注册键盘事件 |
|
void setOnFocusChangeListener(View.OnFocusChangeListener l) |
注册焦点改变事件 |
|
void setOnTouchListener(View.OnTouchListener l) |
注册触摸事件 |
|
void setOnCreateContextMenuListener(View.OnCreateContextMenuListener l) |
注册上下文菜单事件 |
Android笔记二十三.Android基于事件监听器处理机制
标签:android应用
原文地址:http://blog.csdn.net/u012637501/article/details/44245355