版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/monster_ayb/article/details/82118547
安卓开发-Android Studio-前端-设置按钮和点击事件
1.新建一个ButtonActivity文件
.
2.在MainActivity中声明
package com.example.ayb.helloworld;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
private Button mBtnTextView;
private Button mBtnButton;//声明添加的Button
private Button mBtnEditText;
private Button mBtnRadioButton;
private Button mBtnCheckBox;
private Button mBtnImageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtnTextView = findViewById(R.id.btn_textview);
mBtnButton = findViewById(R.id.btn_button);//找到按钮
mBtnEditText = findViewById(R.id.btn_edittext);
mBtnRadioButton = findViewById(R.id.btn_radiobutton);
mBtnCheckBox = findViewById(R.id.btn_checkbox);
mBtnImageView = findViewById(R.id.btn_imageview);
setOnClickListener();
}
private void setOnClickListener(){
OnClick onClick = new OnClick();
mBtnTextView.setOnClickListener(onClick);
mBtnRadioButton.setOnClickListener(onClick);
mBtnEditText.setOnClickListener(onClick);
mBtnButton.setOnClickListener(onClick);//设置点击事件
mBtnCheckBox.setOnClickListener(onClick);
mBtnImageView.setOnClickListener(onClick);
}
private class OnClick implements View.OnClickListener{
@Override
public void onClick(View v){
Intent intent = null;
switch (v.getId()){
case R.id.btn_textview:
intent = new Intent(MainActivity.this,TextViewActivity.class);
break;
case R.id.btn_button:
intent = new Intent(MainActivity.this,ButtonActivity.class);
break;
case R.id.btn_edittext:
intent = new Intent(MainActivity.this, EditTextActivity.class);
break;
case R.id.btn_radiobutton:
intent = new Intent(MainActivity.this, RadioButtonActivity.class);
break;
case R.id.btn_checkbox:
intent = new Intent(MainActivity.this, CheckBoxAcitivity.class);
break;
case R.id.btn_imageview:
intent = new Intent(MainActivity.this, ImageViewActivity.class);
break;
}
startActivity(intent);
}
}
}
先设置个背景
在Drawable中设置bg_btn4.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"> //被点击
<shape>
<solid android:color="#aa6600"/>
<corners android:radius="5dp"/>
</shape>
</item>
<item android:state_pressed="false">未被点击
<shape>
<solid android:color="#ff9900"/>
<corners android:radius="5dp"/>
</shape>
</item>
</selector>
3.在ButtonActivity中设置若干个按钮
android:id="@+id/btn_2" 设置id
android:layout_width="match_parent" 匹配父控件
android:layout_height="wrap_content" 根据内容匹配大小
android:layout_below="@+id/btn_1" 由于是相对布局 所以设置在ID为btn_1的按钮下面
android:text="按钮2" 设置按钮上显示的内容
android:textColor="@color/colorAccent" 设置按钮上显示的内容的颜色
android:layout_marginTop="10dp" 相对布局设置与其他控件的间距
android:textSize="20sp" 设置按钮上显示的内容的字体大小
android:background="@drawable/bg_btn4" 设置按钮背景样式
<?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:padding="15dp"
>
<Button
android:id="@+id/btn_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="按钮1"
android:textSize="20sp"
android:textColor="#0066ff"
android:background="@drawable/bg_btn2"
/>
<Button
android:id="@+id/btn_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/btn_1"
android:text="按钮2"
android:textColor="@color/colorAccent"
android:layout_marginTop="10dp"
android:textSize="20sp"
android:background="@drawable/bg_btn2"
/>
<Button
android:id="@+id/btn_3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="120dp"
android:background="#ff9900"
android:text="按钮3"
android:textColor="@color/colorAccent"
android:textSize="20sp" />
<Button
android:id="@+id/btn_4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/btn_3"
android:text="按钮4"
android:textSize="20sp"
android:layout_marginTop="20dp"
android:onClick="showToast"
android:background="@drawable/bg_btn4"
/>
<TextView
android:id="@+id/tv_1"
android:layout_width="match_parent"
android:layout_height="65dp"
android:textSize="20sp"
android:textColor="#aa1122"
android:text="测试文字1"
android:background="@drawable/bg_btn4"
android:layout_below="@id/btn_4"
android:layout_marginTop="20dp"
android:gravity="center"
/>
</RelativeLayout>
按钮显示界面如下
设置按钮监听事件
在ButtonActivity中的代码如下
public class ButtonActivity extends AppCompatActivity {
private Button mBtn3; //声明按钮
private TextView mTv1; //声明文本框
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
mBtn3 = findViewById(R.id.btn_3);//找到按钮
mBtn3.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(ButtonActivity.this,"btn3被点击了",Toast.LENGTH_SHORT).show();//设置输出结果
}
});
mTv1 = findViewById(R.id.tv_1);//找到文本框
mTv1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(ButtonActivity.this,"tv_1被点击了",Toast.LENGTH_SHORT).show();//设置输出结果
}
});
}
public void showToast(View view){
Toast.makeText(this,"再点一次",Toast.LENGTH_SHORT).show();//设置监听显示内容
}
}
效果如下