按钮动作
XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/show_TextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/app_name"
/>
<Button
android:id="@+id/Click_Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="单击"/>
</LinearLayout>
JAVA
package com.example.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {;
private TextView show;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取TextView文本和Button按钮的资源
show=(TextView)findViewById(R.id.show_TextView);
Button press=(Button)findViewById(R.id.Click_Button);
//为Button按钮添加事件监听器Button。onCliandroid.R.attrckListener()
press.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
}
});
//定义事件处理程序
press.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
//单击按钮后输入一段文本
show.setText("按钮被单击了一下");
}
});
}
}
运行结果:
按钮的监听事件
XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false"
android:weightSum="1">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮的常用属性"
android:id="@+id/button1"
android:drawableLeft="@drawable/ic_launcher"
android:textColor="@color/red"
android:padding="16dp"
android:textSize="35sp"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="使用onClick属性设置"
android:onClick="click1"
android:id="@+id/button"
android:layout_below="@+id/button1"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/button1"
android:layout_alignEnd="@+id/button1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="使用View.OnclickListener"
android:id="@+id/button2"
android:layout_below="@+id/button"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/button"
android:layout_alignEnd="@+id/button" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="使用内部类的方式注册事件"
android:id="@+id/button3"
android:layout_below="@+id/button2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/button2"
android:layout_alignEnd="@+id/button2" />
</RelativeLayout>
JAVA
package com.example.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private Button b,b1,b2,b3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1.实现View.OnClickListener接口
b=(Button)findViewById(R.id.button);
b1=(Button)findViewById(R.id.button1);
b2=(Button)findViewById(R.id.button2);
b3=(Button)findViewById(R.id.button3);
//注册事件
b.setOnClickListener(this);
b1.setOnClickListener(this);
b2.setOnClickListener(this);
//2..使用内部类的方式
b3.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(MainActivity.this, "使用内部类的方式", Toast.LENGTH_SHORT).show();
}
});
}
//3.自定义方法,配置android:onclick属性
public void click1(View v){ //click1与xml里面android:onClick="click1"相对应
Toast.makeText(this, "onClick---", Toast.LENGTH_SHORT).show();
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button1:
Toast.makeText(this, "button---1", Toast.LENGTH_SHORT).show();
break;
case R.id.button2:
Toast.makeText(this, "button---2", Toast.LENGTH_SHORT).show();
break;
case R.id.button3:
Toast.makeText(this, "button---3", Toast.LENGTH_SHORT).show();
break;
}
}
}
COLOR
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<color name="red">#ff0000</color>
</resources>
注意:
public class Button extends TextView 代表一个按钮部件。可以按下按钮,或者单击,由用户来执行一个动作。
设置透明按钮:style="?android:attr/borderlessButtonStyle"