本次Button内容我认为比较重要
首先对于Button属性来说他是TextView的子类
继承于TextView
但是比起TextView它增加了两个属性
1.textAllCaps 是否将英文字母转为大写,true表示自动转为大写 false表示不做转换
这里要提的是 TextView默认是保持原有的大小写且靠左对齐
而button是默认全部大写,且居中
2.Onclick属性 用于接管用户的点击动作,指定点击时触发哪个方法
这里要提的是Onclick其实已经过时了 新型的方法目前还没有学到
因此这里只谈Onclick
以下是一个案例
点击按钮获取文本和当前时间
<Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="直接指定点击方法" android:textColor="@color/black" android:textAllCaps="false" 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"/>
对于Button 点击后调用了一个名为doClick的方法 这个方法需要在xml对应的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 { 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); } }
这里写了doClick方法 有几个点需要特别说明
1、tv_result = findViewById(R.id.tv_result);
这一行很显然是从xml中获取文本内容,但是为什么把它写在onCreate中而不是doClick方法中呢?
这里也是考虑到效率问题,如果写在onClick中 每次点击都要进行获取,点击次数多的情况下可能会出现问题
2、DateUtil.getNowTime()
这里其实是为了显示而写了一个获取当前时间的方法,便于我们直观看到结果,但是这个显示的方法似乎也可以用在以后的开发中
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()); } }
3、(Button)view
首先,执行Onclick方法时传入的是按钮Button ,但是获取的参数是View类型,即Button类型父类的父类,View类型没有获取文本的能力,因此需要将其转换为Button类型 之后显示即可
标签:tv,Button,点击,Studio,result,import,Android,TextView From: https://www.cnblogs.com/Arkiya/p/17156857.html