Android Button的学习使用
2016-09-19 23:18
232 查看
Android Button的学习使用
Button的主要作用
Button是Android中非常常用且重要的控件,我们可以为Buttoo你添加事件来对程序进行逻辑判断和处理。使用方法
在布局文件中添加如下代码<Button android:id="@+id/login_btn" android:layout_width="match_parent" android:layout_height="50dp" android:layout_centerInParent="true" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" android:background="@drawable/btn_bg_selector" android:text="LOG IN" android:textColor="#ffffff" android:textStyle="bold" />
效果图如下
可以通过添加selector文件为button添加更加炫酷的效果,比如按下的时候改变字体或底层颜色,也可以添加shape为button修改边框,添加圆角等效果。
Button添加事件
Button添加事件有很多种方法,目前我所知道的有4种,分别是获取到组件后,添加事件,在布局中就指定添加事件的方法,使用Xutils框架。一、获取组件并添加事件
首先获取到组件login_btn = (Button) findViewById(R.id.login_btn);
设置事件监听,用到了setOnClickListener方法,传入的是一个OnClickListener接口,所以可以使用匿名内部类的方式。
login_btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "点击了按钮", Toast.LENGTH_SHORT).show(); } });
这种方法适合当某一个按钮控件只有它自己做这个逻辑处理,和其他的控件使用的方式不一样时。如果有很多Button时就需要使用下面的方式。
Button添加事件监听的第二种方法
首先还是获取组件login_btn = (Button) findViewById(R.id.login_btn);
添加事件
login_btn.setOnClickListener(this);
这个方法需要类实现OnclickListener接口,然后实现接口中的抽象方法
public void onClick(View v) { switch (v.getId()) { case R.id.login_btn: Toast.makeText(getApplicationContext(), "点击了按钮", Toast.LENGTH_SHORT).show(); break; } }
Button添加事件监听的第三种方法
在布局文件中就指定点击事件的触发方法,在布局文件中的Button里添加android:onClick="login"
在java代码中写点击的方法,方法名必须和onClick中的一样,并且格式是public void 方法名(View view)。代码如下:
public void login(View v) { String userName = un_et.getText().toString().trim(); String password = pwd_et.getText().toString().trim(); if("".equals(userName) || "".equals(password)){ Toast.makeText(getApplicationContext(), "用户名或密码不能为空", Toast.LENGTH_SHORT).show(); } Toast.makeText(getApplicationContext(), "username:"+userName+"\npassword:"+password, Toast.LENGTH_SHORT).show(); }
这个方法和第一种方法作用基本类似,并且不需要再找到控件,比第一种方便些,但是这个方法的弊端是不能添加长按事件
Button添加事件监听的第四种方法
使用框架能够很快的提高开发效率,使用Xutils时,首先导入jar包,然后在类中引用Xutils的ViewUtils。ViewUtils.inject(this);
之后就能够使用注解的方式寻找控件,或给控件添加方法
寻找控件的方法如下:
@ViewInject(R.id.un_et) private EditText user_et; @ViewInject(R.id.pwd_et) private EditText pwd_et;
给控件添加点击事件
@OnClick(R.id.login_btn) public void login(View v) { String username = user_et.getText().toString().trim(); String password = pwd_et.getText().toString().trim(); if ("".equals(username) || "".equals(password)) { showToast("用户名或密码不能为空"); } else { showToast("UserName:" + username + "\nPassword:" + password); } }
Button的长按事件
长按事件也是Android中非常常用的,长按事件调用的是setOnLongClickListenerlogin_btn.setOnLongClickListener(new OnLongClickListener() { @Override public boolean onLongClick(View v) { Toast.makeText(getApplicationContext(), "长按事件触发了。。。", Toast.LENGTH_SHORT).show(); //返回为true事件就不会继续往下传递,即是不会再触发点击事件 return true; } });
相关文章推荐
- Android学习总结一:adb的使用、打电话、Button监听两种方法、发短信、ADT23.0.2版本兼容问题
- android学习进行时----1.1.1UI部分Button使用
- [学习笔记]android的onCreate和Button的使用
- Android学习(四)使用Button
- android学习进行时----1.1.2UI部分Button使用-事件监听
- Android Button使用,ArrayList使用练习
- Android UI学习 - Tab的学习和使用【转】
- Android(OPhone) 学习笔记1 - 搜索API的使用
- Android(OPhone) 学习笔记 - Mail API 的使用
- android学习小结5-各种控件使用方式DEMO
- android学习之使用Intent
- Android学习之二:使用Android文档帮助
- Android UI学习 - GridView和ImageView的使用
- Atlas学习手记(14):使用ToggleButton Extender来装扮CheckBox
- android中使用selector动态改变imageView或ImageViewButton的背景
- APIDemo学习笔记——Android上几种简单的Animation使用方法(二)
- Android学习之六:使用Container
- Android(OPhone) 学习笔记 - Home API 的使用
- Android学习之三:使用DDMS调试程序
- Android(OPhone) 学习笔记 - 搜索API的使用