Android常用控件

本文介绍了Android开发中常见的控件使用,包括TextView、EditText、形状资源和选择器的创建,以及如何实现登录界面和多选框、日期对话框的功能。通过示例代码展示了如何设置TextView的属性,创建自定义背景,以及实现时间对话框和多选框的选择事件处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先我们来看看androidd常用的控件有哪些

有两张图可以直接然我们了解安卓的常用控件
这里写图片描述
这里写图片描述

然后用以上的一些控件做简单的测试

一、制作一个登录的排版

效果就直接贴图
这里写图片描述

按钮我就没有去加了

说说这个布局所用到的控件以及属性吧

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:layout_width="140dp"
            android:layout_height="50dp"
            android:drawableLeft="@drawable/icon_user"
            android:text="用户名:"
            android:textSize="30sp"
            android:gravity="center|right"
            />
        <EditText
            android:layout_width="match_parent"
            android:layout_height="50dp"

            android:paddingLeft="140dp"
            android:hint="请输入用户名"

            android:background="@drawable/test2"
            />

    </FrameLayout>
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:layout_width="140dp"
            android:layout_height="50dp"
            android:text="密码:"

            android:textSize="30sp"
            android:gravity="center|right"
            />
        <EditText
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:paddingLeft="140dp"
            android:hint="请输入密码"
            android:background="@drawable/test2"
            />
    </FrameLayout>
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:layout_width="140dp"
            android:layout_height="50dp"
            android:text="邮箱:"
            android:textSize="30sp"
            android:gravity="center|right"
            />
        <EditText
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:paddingLeft="140dp"
            android:hint="请输入邮箱"
            />
    </FrameLayout>

</LinearLayout>

TextView是文本视图
android:drawableLeft是用户框左边的小图标,drawable后面接图标的位置
android:textSize是设置文字的大小
android:gravity=”center|right”表示使字体靠右据中,如果只写一个center或者right的话就表示只剧中或者靠右

EditText是文本编辑器

这里面没有用到太多的属性

android:hint是文字提示符(当用户输入内容后会消失不见)

外型资源以及选择器

1.外形资源shape

上面登录排版有用到外形资源以及选择器

首先要在deawable文件下新建一个Deawable resource file
命名看个人规范这里写图片描述

将selector改成shape(selector是选择器shape是外形资源,我习惯先写外形资源)
这里写图片描述

这里我是调了两个样式属性
一个gradient表示渐变色

一个corners表示弧度(左上角的弧度)

再写一个选择器(selector),和上面一样的步骤,selector不用改

这里写图片描述

state_focused表示焦点状态,这里两行表示
当得到焦点时调用test外形资源,失去焦点时调用test1外形资源

然后直接调用这个选择器就好了

这里写图片描述

这里我设置背景颜色的时候掉用了我的选择器(test2)

二、排一个多选框和一个日期对话框

首先看看代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="看书"
        android:textSize="30sp"
        android:id="@+id/rb_main_honneya"
        android:checked="false"
        />

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="游戏"
        android:textSize="30sp"
        android:id="@+id/rb_main_honneyb"
            />
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="代码"
        android:textSize="30sp"
        android:id="@+id/rb_main_honneyc"
        android:checked="false"
            />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="确定"
        android:textSize="35dp"
        android:gravity="center"
        android:layout_gravity="center"
        android:onClick="sex"
        />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="时间"
        android:textSize="35dp"
        android:gravity="center"
        android:layout_gravity="center"
        android:onClick="gettime"
        />

</LinearLayout>

排版就不多说了效果如下

这里写图片描述

点击确定会弹出小窗口显示你选择了哪些选择
点击时间会弹出时间对话框

这个需要写函数,首先要找到写函数的地方
在你的项目里有个java文件夹,下面 的第一个文件里有一个MainActivity的java文件,我们的函数要在java文件里写

先来看看时间对话框怎么写


    public void gettime(View view) {
        //获取当前系统时间
        Calendar c = Calendar.getInstance();
        new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

            }
        }, c.get(Calendar.YEAR), c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH)).show();

    }

方法里面的calendar是用来获取系统当前时间

然后需要写一个时间的对话框(new DatePickerDialog)里面有5个参数,第一个写this,第二个参数需要new一个时间监听
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

        }
    }

里面什么都不写,第三个参数写时间,用Calendar 去获取系统当前时间,从第三个开始分别写,年,月,最后一个时星期几,之后一定
要写.show(),不然运行不起来

写完这些后就可以调用这个方法了

怎么调用如图

这里写图片描述

在Button
里面onClick后面接方法名就可以了
效果就是这样的

这里写图片描述

再看看多选框

先看代码


    public void sex(View view){
       CheckBox rb_main_honneya = (CheckBox)findViewById(R.id.rb_main_honneya);
       CheckBox rb_main_honneyb = (CheckBox)findViewById( R.id.rb_main_honneyb);
       CheckBox rb_main_honneyc = (CheckBox)findViewById(R.id.rb_main_honneyc);
        String honney="";
        if (rb_main_honneya.isChecked()){
            honney += rb_main_honneya.getText().toString();
        }
        if(rb_main_honneyb.isChecked()){
            honney +=rb_main_honneyb.getText().toString();
        }
        if (rb_main_honneyc.isChecked()){
            honney += rb_main_honneyc.getText().toString();;
        }

        Toast  to = Toast.makeText(getApplicationContext(),
                honney, Toast.LENGTH_LONG);
        to.setGravity(Gravity.CENTER, 0, 0);
        LinearLayout toastView = (LinearLayout) to.getView();
        toastView.setOrientation(LinearLayout.HORIZONTAL);
        ImageView imageCodeProject = new ImageView(getApplicationContext());
        imageCodeProject.setImageResource(R.drawable.icon_user);
        toastView.addView(imageCodeProject, 0);
        to.show();
    }
    rb_main_honneya = (CheckBox)findViewById(R.id.rb_main_honneya);
    rb_main_honneyb = (CheckBox)findViewById( R.id.rb_main_honneyb);
    rb_main_honneyc = (CheckBox)findViewById(R.id.rb_main_honneyc);

用来获取多选框id

设一个容器装内容,再判断每一个单选框是否选中,如果是则将该复选框的内容放到容器内。

最后设置弹窗(Toast )代码中的honney就是你想要弹出的内容
to.setGravity(Gravity.CENTER, 0, 0)是控制弹出的位置(CENTER为中间)

LinearLayout toastView = (LinearLayout) to.getView();
toastView.setOrientation(LinearLayout.HORIZONTAL);
ImageView imageCodeProject = new ImageView(getApplicationContext());
imageCodeProject.setImageResource(R.drawable.icon_user);
上面加粗是弹窗里加图片,这个图片的路径
toastView.addView(imageCodeProject, 0);

效果如下

这里写图片描述

以上就是常用控件的简单应用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AprilCos

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

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

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

打赏作者

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

抵扣说明:

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

余额充值