Android开发总结笔记 Button和ImageButton(按钮) 1-1-9

来源:互联网 发布:淘宝上传食品需要证件 编辑:程序博客网 时间:2024/05/18 10:42

从继承结构上来看,Button(API)是继承于TextView的,而ImageButton(API)是继承于ImageView的
但是在用法上,如果给Button设置背景的话,基本上也和ImageView一样,
除非遇到src(内容)background(背景)不一样的情况

1、Button最简单的用法,设置点击事件
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//点击事件
}
});
我的话一般会这样用
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private Button button;
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button)findViewById(R.id.button);
button.setOnClickListener(this);
}
 
 
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button:
//点击事件
break;
}
}
}
代码会相对简洁,而且在处理多个点击事件的时候方便查看。    


2、按钮的点击效果和圆角效果

直接就上代码了

round_corner_btn_nor.xml
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
 
<item>
<shape android:padding="10dp" >
<solid android:color="@color/button_nor" />
 
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp" />
</shape>
</item>
 
</layer-list>

round_corner_btn_press.xml
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
 
<item>
<shape android:padding="10dp" >
<solid android:color="@color/button_press" />
 
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp" />
</shape>
</item>
 
</layer-list>

selector_round_corner_btn.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 
<item android:drawable="@drawable/round_corner_btn_nor" android:state_pressed="false"></item>
<item android:drawable="@drawable/round_corner_btn_press" android:state_pressed="true"></item>
 
</selector>

<Button
android:id="@+id/button"
android:text="我是按钮"
android:background="@drawable/selector_round_corner_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content" />



0 0