Android 常见界面控件(简单控件篇)

Android 常见界面控件(简单控件篇)

3.1 简单控件的使用

3.1.1 TextView

TextView控件用于显示文本信息,我们可以在XML布局文件中以添加属性的方式来控制TextView的样式,TextView在XML布局文件中的常用属性:

在这里插入图片描述

在这里插入图片描述

注意: Android中的控件样式除了可以使用XML属性设置外,也可以使用Java中的方法设置。控件的每一个XML属性都对应一个Java方法,例如,android:textColor属性对应的是TextView的setTextColor()方法

3.1.2 Button

Button控件表示按钮,它继承自TextView控件,既可以显示文本,又可以显示图片,同时也允许用户通过点击来执行操作,当Button控件 被点击时,被按下与弹起的背景会有一个动态的切换效果,这个效果就是点击效果

通常情况下,所有控件都可以设置点击事件,Button控件也不例外,Button控件最重要的作用就是响应用户的一系列点击事件

为Button控件设置点击事件的方式

  • 在布局文件中将Button控件的onClick属性值指定,然后再Activity中定义专门的方法来实现Button的点击事件
  • 使用匿名内部类的方式在Activity中直接实现Button的点击事件
  • 在Activity中实现View.onClickListener接口设置点击事件

(1)在布局文件中指定onClick属性的方式设置点击事件,可以在布局文件中指定onClick属性的值来设置Button控件的点击事件

<Button
	...
	android:onClick = "click"/>

在Button控件指定了onClick属性后,我们可以在Activity中定义专门的方法来实现Button控件的点击事件,需要注意的在Activity中定义实现点击事件的方法名必须与onClick的属性值一致

(2)使用匿名内部类的方式设置点击事件,在Activity中,可以使用匿名内部类的方式为Button控件设置点击事件

btn.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View view){
        //实现点击事件的代码
    }
});

为Button控件设置setOnClickListener()方法实现对Button控件点击事件的监听,setOnClickListener()方法中传递的参数是一个匿名内部类,如果监听到按钮被点击,那么城西会调用匿名内部类中的onClick方法实现对Button控件的点击事件

(3)Activity实现onClickListener接口的方式设置点击事件,将当前Activity实现View.OnClickListener接口,同样可以为Button控件设置点击事件

public class MainActivity extends AppCompatActivity implements View OnClickListener{
    @Override
    protected void onCreate(Bundle savedInstanceState){
        ...
            btn.setOnClickListener(this);	//设置Button控件的监听事件
    }
    @Override
    public void onClick(View view){
        //实现点击事件的代码
    }
} 

注意:在使用第三种方法实现Button控件的点击事件时,要先调用控件的setOnClickListener()方法设置点击监听事件

前两种方法适合于按钮较少的情况,第三种反之

典例

Mainactivity.java

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    private Button bt1,bt2,bt3;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        bt1 = (Button)findViewById(R.id.btn01);
        bt2 = (Button)findViewById(R.id.btn02);
        bt3 = (Button)findViewById(R.id.btn03);
        bt3.setOnClickListener(this);
        //实现按钮1的点击事件
        bt1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                bt1.setText("按钮1已被点击");
            }
        });
    }
    //实现按钮2的点击事件
    public void  click(View view){
        bt2.setText("按钮2已被点击");
    }
    //实现按钮3的点击事件
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn03:bt3.setText("按钮3已被点击");break;
        }
    }
}

activity_main.xml

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button1"
        android:id="@+id/btn01" />
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button2"
        android:id="@+id/btn02"
        android:onClick="click" />
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button3"
        android:id="@+id/btn03" />
3.1.3 EditText

EditText表示编辑框,它是TextView的子类,用户可在此控件中输入信息。除了支持TextView控件的属性外,EditText还 支持一些其他的常用属性:

在这里插入图片描述

3.1.4 ImageView

ImageView表示图片,继承自View,可以加载各种图片资源,ImageView支持的XML属性:

在这里插入图片描述

3.1.5 RadioButton

RadioButton表示单选按钮,它是Button的子类。每-一个单选按钮都有“选中”和“未选中”两种状态,这两种状态是通过android:checked属性指定的。当可选值为true时,表示选中状态,否则,表示未选中状态

在Android程序中RadioButton经常与RadioGroup配合使用,实现RadioButton的单选功能。RadioGroup是单选组合框,可容纳多个RadioButton,但是在RadioGroup中不会出现多个RadioButton同时选中的情况

在XML布局文件中,RadioGroup和RadioButton配合使用的语法格式:

<RadioGroup
    android:属性名 = "属性值"
    ...>
	<RadioButton>
        android:属性名 = "属性值"
        .../>		
</RadioGroup>

注意:RadioGroup继承于LinearLayout,可以使用android:orientation属性控制RadioGroup的排列方向

3.1.6 CheckBox

CheckBox表示复选框,它是Button的子类,用于实现多选功能,每一个复选框都有“选中”和“未选中”两种状态,这两种状态由android:checked属性决定

典例

Mainactivity.java文件:

public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener{
    private TextView hobby;
    private  String hobbys;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //初始化CheckBox控件
        CheckBox basketball = (CheckBox)findViewById(R.id.like_basketball);
        CheckBox swim = (CheckBox)findViewById(R.id.like_swim);
        CheckBox code = (CheckBox)findViewById(R.id.like_code);
        CheckBox dance = (CheckBox)findViewById(R.id.like_dance);
        basketball.setOnCheckedChangeListener(this);
        swim.setOnCheckedChangeListener(this);
        code.setOnCheckedChangeListener(this);
        dance.setOnCheckedChangeListener(this);
        hobby = (TextView)findViewById(like_hobby);
        //用来存放选中的CheckBox信息
        hobbys = new String();
    }

    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        String motion = buttonView.getText().toString();
        if(isChecked){
            if(!hobbys.contains(motion)){
                hobbys = hobbys+motion;
                hobby.setText(hobbys);
            }else {
                if (hobbys.contains(motion)){
                    hobbys = hobbys.replace(motion,"");
                    hobby.setText(hobbys);
                }
            }
        }
    }
}

代码解释

在MainActivity中实现了CompoundButton.OnCheckedChangeListener接口并重写了onCheckedChanged()方法,在该方法中实现了ChexBox控件的点击事件

13-16行代码设置了4个CheckBox控件的监听事件

23行代码重写了onCheckedChanged()方法,该方法中的button View与isChecked分别表示被点击的控件和选中状态

activity_main.xml文件:

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="请选择你的兴趣爱好:"
        android:textSize="18sp"
        android:textColor="#FF8000"/>
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:text="篮球"
        android:id="@+id/like_basketball"/>
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:text="游泳"
        android:id="@+id/like_swim"/>
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:text="代码"
        android:id="@+id/like_code"/>
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:text="跳舞"
        android:id="@+id/like_dance"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="您选择的兴趣爱好为:"
        android:textSize="22sp"/>
    <TextView
        android:id="@+id/like_hobby"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="#FF8000"/>

启动测试

在这里插入图片描述

3.1.7 Toast

Toast是Android系统提供的轻量级信息提醒机制,用于向用户提示即时信息,显示在程序界面的最上层,显示一段时间后自动消失,不会打断当前操作,也不获得焦点

Toast.makeText(Context,Text,Time).show();
//用makeText方法设置提醒信息,再用Show方法显示
  • Context:表示应用程序环境的信息类,即当前组件的上下文环境,Context是一个抽象类,如果在Activity中使用Toast提示信息,参数可设置为“当前Activity.this”
  • Text:表示提示的字符串信息
  • Time:表示显示信息的时长,属性值包括Toast.LENGTH_SHORT和Toast.LENGTH_LONG
bt.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this,"WIFI连接已断开",Toast.LENGTH_LONG).show();
            }
        });

启动测试
在这里插入图片描述
如果文章对您有所帮助,记得一键三连支持一下哦~

  • 6
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Android Studio界面中,可以使用以下控件来实现姓名、年龄和身高输入: 1. EditText控件:用于输入文本内容,可以用来输入姓名、年龄和身高。 2. TextView控件:用于显示静态文本内容,可以用来显示标签,如“姓名”、“年龄”、“身高”。 3. Button控件:用于触发某些事件,比如保存输入的信息。 4. LinearLayout控件:用于将以上控件按照水平或垂直方向排列。 5. ScrollView控件:用于在屏幕空间不够时,提供滚动功能,以便查看所有控件。 以下是一种实现方式: ```xml <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="16dp"> <!--姓名输入框--> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="姓名:"/> <EditText android:id="@+id/et_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入姓名"/> <!--年龄输入框--> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="年龄:"/> <EditText android:id="@+id/et_age" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入年龄"/> <!--身高输入框--> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="身高:"/> <EditText android:id="@+id/et_height" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入身高"/> <!--保存按钮--> <Button android:id="@+id/btn_save" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="保存"/> </LinearLayout> </ScrollView> ``` 在代码中,可以通过findViewById()方法获取输入框和按钮控件的引用,然后在按钮的点击事件中获取输入框的内容,进行保存或其他操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香蕉道突破手牛爷爷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值