Button 继承自 TextView,是TextView 的子类。
文字大小、颜色
<Button
android:id="@+id/btn_1"
android:layout_width="match_parent"
android:layout_height="40dp"
android:text="按钮1"
android:textSize="20sp"
android:textColor="#ffffff"
android:background="#ff0000"/>
textSize --文字大小
textColor --文字颜色
自定义背景形状
在 res->drawable文件中新建 drawable样式文件bg_btn2.xml
File->New->Drawable resourcefile 创建样式文件
File name --文件名
Root element:shape --根布局(形状)
bg_btn2.xml文件
<shape
android:shape="rectangle"> //矩形
<solid android:color="#ff9900"/> //填充颜色属性
<corners android:radius="5dp"/> //圆角属性
<stroke android:width="1dp"
android:color="#ff9900"/> //描边属性(1dp橙色描边)
</shape>
其中:圆角属性包括:
① radius 全圆角
② bottomLeftRadius 左下圆角
③ bottomRightRadius 右下圆角
④ topLeftRadius 左上圆角
⑤ topRightRadius 右上圆角
调用自定义背景形状:
<Button
...
android:background="@drawable/bg_btn2"
.../>
通过background背景属性,设置其文件路径的方式来使用已经设置好的自定义背景形状。
自定义按压效果
自定义按压效果同样需要在res-drawable文件夹下新建drawable样式文件:
File->New->Drawable resource file
Root element:selector --根布局(选择器)
自定义按压效果文件:
<selector xmlns:...>
<item android:state_pressed="true">
<shape>
<solid android:color="#aa6600"/>
<corner android:radius="5dp"/>
</shape>
</item>
<item android:state_pressed="false">
<shape>
<solid android:color="#ff9900"/>
<corner android:radius="5dp"/>
</shape>
</item>
</selector>
其中:
state_pressent=“true”为按压时的显示效果
state_pressent="false"为未按压时的显示效果
点击事件
1. 在样式文件中设置相关点击属性,并在Java文件中设置相关点击事件(不常用)
首先在 activity_button.xml 文件中对button组件添加点击属性:
<Button
...
android:onClick="showToast"
.../>
然后在ButtonActivity.java文件中设置相关点击方法:
public void showToast(){
Toast.makeText(this,"我被点击了",Toast.LENGTH_SHORT).show();
}
其中:
Toast.makeText(this, “被点击时现实的文字”,显示时间)
Toast.LENGTH_SHORT 1秒
Toast.LENGTH_LONG 2秒
2.直接在ButtonActivity.java 文件中操作(常用)
//声明组件
private Button btn3;
//找到组件
btn3 = (Button) findViewById(R.id.btn_3);
//设置点击事件
btn3.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(ButtonActivity.this,"Button3被点击了",Toast.LENGTH_SHORT).show();
}
});
注:TextView也可设置点击事件,代码与点击事件2相类似。