Android UI学习之---Button

2022-05-08 15:50:49 浏览数 (1)

Button的作用就是按下,当然当按下后就会产生“按下”的事件。 其中按下的事件也分为两种。 一种是OnClick事件, 另一种是OnLongClick事件。

先贴出我的Activity的代码。如下:

代码语言:javascript复制
public class ButtonActivity extends Activity {

	private static TextView tv1;
	private static TextView tv2;
	private static Button  bt1;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_button);
		
		tv1 = (TextView)findViewById(R.id.textView1);
		tv2 = (TextView)findViewById(R.id.textView2);
		bt1 = (Button)findViewById(R.id.button1);
		
		bt1.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				tv1.setText("OnClick");
			}
		});
		
		bt1.setOnLongClickListener(new OnLongClickListener() {
			
			@Override
			public boolean onLongClick(View arg0) {
				// TODO Auto-generated method stub
				tv2.setText("OnLongClick");
				return false;
			}
		});
	}
}

其中布局文件就不贴出了。 布局文件中有2个TextView 和 1个button。 当长按或者直接按下时分别textview不同的显示。

首先: 先截图出刚运行起来的界面如下:

当按下一段时间, 没有松开的效果图如下:

当松开后的效果如下:

ok。 演示完成。 来一个小结。

1: 当按下一段时间并且没有松开,会触发OnLongClick事件。

2:当按下后松开之后就会触发OnClikc事件。(也就是说OnClick事件是当按下并且抬起之后才会触发的事件)

如果: 当OnLongClick事件返回的是true时会有怎么样的效果呢?

代码语言:javascript复制
		bt1.setOnLongClickListener(new OnLongClickListener() {
			
			@Override
			public boolean onLongClick(View arg0) {
				// TODO Auto-generated method stub
				tv2.setText("OnLongClick");
				return true;
			}
		});

这个问题留给大家动手实践哦!

好, 本小结就到这里。

0 人点赞