2022-10-11学习内容
1.Button
1.1activity_button_view.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="5dp"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="下面的按钮英文默认大写" android:textColor="@color/black" android:textSize="17sp" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Hello World" android:textColor="@color/black" android:textSize="17sp" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="下面的按钮英文保持原状" android:textColor="@color/black" android:textSize="17sp" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Hello World" android:textAllCaps="false" android:textColor="@color/black" android:textSize="17sp" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="直接指定点击方法" android:textAllCaps="false" android:textColor="@color/black" android:textSize="17sp" android:onClick="doClick"/> <TextView android:id="@+id/tv_result" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="这里查看按钮的点击结果" android:textColor="@color/black" android:textSize="17sp" /> </LinearLayout>
1.2ButtonStyleActivity.java
package com.example.chapter03; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.example.chapter03.utils.DateUtil; public class ButtonStyleActivity extends AppCompatActivity { // 快捷键 ctrl+alt+f 把onCreate方法中的局部变量提取成全局的属性 private TextView tv_result; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_button_style); tv_result = findViewById(R.id.tv_result); } public void doClick(View view) { String desc = String.format("%s 您点击了按钮; %s", DateUtil.getNowTime(), ((Button)view).getText()); tv_result.setText(desc); } }
1.3DateUtil.java
package com.example.chapter03.utils; import java.text.SimpleDateFormat; import java.util.Date; public class DateUtil { public static String getNowTime() { SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); return sdf.format(new Date()); } }
1.4效果
2.点击事件
2.1activity_button_click.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/btn_click_single" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="指定单独的点击监听器" android:textColor="#000000" android:textSize="15sp" /> <TextView android:id="@+id/tv_result" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="5dp" android:gravity="center" android:textColor="#000000" android:textSize="15sp" android:text="这里查看按钮的点击结果"/> </LinearLayout>
2.2ButtonClickActivity.java
package com.example.chapter03; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.example.chapter03.utils.DateUtil; public class ButtonClickActivity extends AppCompatActivity { // ctrl+alt+f private TextView tv_result; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_button_click); tv_result = findViewById(R.id.tv_result); Button btn_click_single = findViewById(R.id.btn_click_single); btn_click_single.setOnClickListener(new MyViewOnClickListener(tv_result)); } static class MyViewOnClickListener implements View.OnClickListener { private final TextView tv_result; public MyViewOnClickListener(TextView tv_result) { this.tv_result = tv_result; } @Override public void onClick(View v) { String desc = String.format("%s 您点击了按钮; %s", DateUtil.getNowTime(), ((Button)v).getText()); tv_result.setText(desc); } } }
2.3效果
2.4activity_button_click.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/btn_click_single" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="指定单独的点击监听器" android:textColor="#000000" android:textSize="15sp" /> <Button android:id="@+id/btn_click_public" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="指定公共的点击监听器" android:textColor="#000000" android:textSize="15sp" /> <TextView android:id="@+id/tv_result" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="5dp" android:gravity="center" android:textColor="#000000" android:textSize="15sp" android:text="这里查看按钮的点击结果"/> </LinearLayout>
2.5ButtonClickActivity.java
package com.example.chapter03; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.example.chapter03.utils.DateUtil; public class ButtonClickActivity extends AppCompatActivity implements View.OnClickListener { // ctrl+alt+f private TextView tv_result; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_button_click); tv_result = findViewById(R.id.tv_result); Button btn_click_single = findViewById(R.id.btn_click_single); btn_click_single.setOnClickListener(new MyViewOnClickListener(tv_result)); Button btn_click_public = findViewById(R.id.btn_click_public); btn_click_public.setOnClickListener(this); } @Override public void onClick(View v) { if (v.getId() == R.id.btn_click_public) { String desc = String.format("%s 您点击了按钮; %s", DateUtil.getNowTime(), ((Button)v).getText()); tv_result.setText(desc); } } static class MyViewOnClickListener implements View.OnClickListener { private final TextView tv_result; public MyViewOnClickListener(TextView tv_result) { this.tv_result = tv_result; } @Override public void onClick(View v) { String desc = String.format("%s 您点击了按钮; %s", DateUtil.getNowTime(), ((Button)v).getText()); tv_result.setText(desc); } } }
2.6效果