首页 > 其他分享 >Android Studio Button

Android Studio Button

时间:2023-02-26 16:14:08浏览次数:28  
标签:tv Button 点击 Studio result import Android TextView

本次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

相关文章

  • Android Studio GridLayout & ScrollView
    GridLayout是网格布局感觉在设计表格的时候会有一些用处知识点只有两个 columnCount属性,指定了网格的列数,即每行放多少个rowCount属性,指定行数,即每行放多少个要注意......
  • Deleaker is ready for Visual Studio 2022!
    DeleakerisreadyforVisualStudio2022!On November3,2021 By ArtemRazin In UncategorizedSinceMicrosoftannouncedthefirstpreviewofVisualStudi......
  • Android Studio LinearLayout & RelativeLayout
    1、LinearLayout线性布局主要分为两部分内容第一部分是进行线性布局的方向设置即水平方向和竖直方向用orientation属性值进行设置当它为horizontal的时候表示水平方......
  • springboot3.0整合GraalVM-Native-Support,打包本地exe(native-image)。添加native-maven
    0.【idea新建一个springbootdemo项目】勾选GraalVMNativeSupport。其它略(太基础了)1.【环境准备】安装GraalVM、VisualStudio、NativeImage​​https://gitee.com/lishu......
  • Android Studio 视图对齐方式
    这里有两种类型的对齐1、layout_gravity用于当前视图相对于上级视图的对齐方式2、gravity用于下级视图相对于当前视图的对齐方式具体如下代码和图<?xmlversion="1.......
  • Audroid studio_EditText
    今天再次学了一遍button事件,发现可能由于版本问题,视频教程与实际操作有出入,暂时不做对button的总结. EditText:<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutx......
  • 解决在Android studio的Button控件下background背景设置不起作用的问题
    Button控件默认的背景是深紫色的,有时候会看不清按钮上的文本,显得很不方便,想要修改背景色所以添加了background字段,但是又不起作用!!!1.找到values文件夹下面的themes文件夹,打......
  • button、image、navigator组件
         ......
  • android的基本控件TextView
    作用TextView(文本框),用于显示文本的一个控件属性详解<TextView android:id="@+id/txtOne"android:layout_width="wrap_content"android:layout_heigh......
  • Android-实现增加数据进入数据库
    继续写简单增删改查,终于可以实现插入数据进入数据库了主要代码差不多了,现在主要是需要解决一个显示数据的问题,这个问题之后接着写。初步效果  然后我们用可视化应用......