贴代码:
activity_main.xml中代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/scrollView"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" >
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="第一个button,从源代码里注册onClick事件"
android:id="@+id/button" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="第二个button,从xml文件里注册onClick事件"
android:id="@+id/button2"
android:onClick="onClick"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button3"
android:background="@drawable/button_seletor"
android:layout_gravity="center_horizontal" />
<TextView
android:layout_width="match_parent"
android:layout_height="35dp"
android:text="可多选"
android:id="@+id/textView" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="44dp">
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:id="@+id/checkBox"
android:checked="false" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"
android:id="@+id/checkBox2"
android:checked="false" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="单选"
android:id="@+id/textView2" />
<RadioGroup
android:layout_width="fill_parent"
android:layout_height="61dp"
android:id="@+id/radioGroup">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:id="@+id/radioButton"
android:checked="false" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"
android:id="@+id/radioButton2"
android:checked="false" />
</RadioGroup>
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New ToggleButton"
android:id="@+id/toggleButton"
android:textOn="关闭"
android:textOff="打开"/>
</LinearLayout>
</ScrollView>
</RelativeLayout>
button_selector.xml中的代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/button_selector1" /> //如果按下,则显示<span style="font-family: Arial, Helvetica, sans-serif;">drawable中的button_selector1图片,下一行同理</span>
<item android:state_enabled="true" android:drawable="@drawable/button_selector2"/>
</selector>
MainActivity中的代码:
package com.example.hailang.button;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import android.widget.ToggleButton;
public class MainActivity extends AppCompatActivity {
private Button btn1;
private Button btn_selector;
private CheckBox mbtn;
private CheckBox wmbtn;
private RadioGroup sex;
private ToggleButton mToogglebt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button)findViewById(R.id.button);
btn1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(MainActivity.this, "第一个button事件已经触发", Toast.LENGTH_SHORT).show();
}
});
btn1.setOnLongClickListener(new View.OnLongClickListener() { //长按button
public boolean onLongClick(View v) {
Toast.makeText(MainActivity.this, "第一个button长按事件已经触发", Toast.LENGTH_SHORT).show();
return false;
}
});
btn_selector = (Button) findViewById(R.id.button3); //按下和放开两个不同状态下的图片不同,能够看到按动的效果
btn_selector.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"第三个button事件已经触发", Toast.LENGTH_SHORT).show();
}
});
mbtn = (CheckBox )findViewById(R.id.checkBox); //多项选择
wmbtn = (CheckBox)findViewById(R.id.checkBox2);
mbtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Toast.makeText(MainActivity.this,"选择男性:" + isChecked, Toast.LENGTH_SHORT).show();
}
});
wmbtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Toast.makeText(MainActivity.this,"选择女性:" + isChecked, Toast.LENGTH_SHORT).show();
}
});
sex = (RadioGroup)findViewById(R.id.radioGroup); //单项选择
sex.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (checkedId == R.id.radioButton)
Toast.makeText(MainActivity.this, "当前被选中的是男", Toast.LENGTH_SHORT).show();
else
Toast.makeText(MainActivity.this, "当前被选中的是女", Toast.LENGTH_SHORT).show();
}
});
mToogglebt = (ToggleButton)findViewById(R.id.toggleButton); //开关
mToogglebt.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked)
Toast.makeText(MainActivity.this, "已打开", Toast.LENGTH_SHORT).show();
else
Toast.makeText(MainActivity.this, "已关闭", Toast.LENGTH_SHORT).show();
}
});
}
public void onClick(View v)
{
Toast.makeText(this, "第二个button事件已经触发", Toast.LENGTH_SHORT).show();
}
}