当前位置: 首页 > news >正文

android13打基础: timepicker控件


public class Ch4_TimePickerActivity extends AppCompatActivity implements TimePickerDialog.OnTimeSetListener {

    private TextView tv_time; // 声明一个文本视图对象
    private TimePicker tp_time; // 声明一个时间选择器对象

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_time_picker_ch4);

        tv_time = findViewById(R.id.tv_time);
        tp_time = findViewById(R.id.tp_time);


        findViewById(R.id.btn_time).setOnClickListener(v -> {
            // 获取日历的一个实例,里面包含了当前的时分秒
            Calendar calendar = Calendar.getInstance();
            // 构建一个时间对话框,该对话框已经集成了时间选择器。
            // TimePickerDialog的第二个构造参数指定了时间监听器
            TimePickerDialog dialog = new TimePickerDialog(this, this,
                    calendar.get(Calendar.HOUR_OF_DAY), // 小时
                    calendar.get(Calendar.MINUTE), // 分钟
                    true); // true表示24小时制,false表示12小时制
            dialog.show(); // 显示时间对话框
        });
        findViewById(R.id.btn_ok).setOnClickListener(v -> {
            // 获取时间选择器tp_time设定的小时和分钟
            String desc = String.format("您选择的时间是%d时%d分",
                    tp_time.getCurrentHour(), tp_time.getCurrentMinute());
            tv_time.setText(desc);
        });

    }

    // 一旦点击时间对话框上的确定按钮,就会触发监听器的onTimeSet方法
    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        // 获取时间对话框设定的小时和分钟
        String desc = String.format("您选择的时间是%d时%d分", hourOfDay, minute);
        tv_time.setText(desc);
    }
}

界面

<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_time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="请选择时间"
        android:textColor="@color/black"
        android:textSize="17sp" />

    <!-- timePickerMode取值spinner表示下拉框风格,取值clock表示钟表风格 -->
    <TimePicker
        android:id="@+id/tp_time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:calendarViewShown="false"
        android:timePickerMode="spinner"
        android:gravity="center"
        android:spinnersShown="true" />

    <Button
        android:id="@+id/btn_ok"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="确  定"
        android:textColor="@color/black"
        android:textSize="17sp" />

    <TextView
        android:id="@+id/tv_time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:textColor="@color/black"
        android:textSize="17sp" />

</LinearLayout>

相关文章:

  • Vue 3 ref(new Map()) 无法触发watch
  • 力扣35.搜索插入位置-二分查找
  • Linux网络配置(超详细)
  • 「Java EE开发指南」如何用MyEclipse构建一个Web项目?(二)
  • Go权限管理库Casbin和身份验证库jwt-go初试
  • 【2025】Electron + React 架构筑基——从零到一的跨平台开发
  • 电子学会—2024年12月青少年软件编程(图形化)四级等级考试真题——趣味点阵屏
  • 当中国“智算心跳”与全球共振:九章云极DataCanvas首秀MWC 2025
  • 快速掌握EasyOCR应用实战指南
  • Qt常用控件之表格QTableWidget
  • openharmony 软总线-设备发现流程
  • OSPF网络类型:NBMA与P2MP
  • K8s 1.27.1 实战系列(七)Deployment
  • 第八节:基于Winform框架的串口助手小项目---完结优化《C#编程》
  • HTML 属性(详细易懂)
  • Manus全球首个通用Agent,Manus AI:Agent应用的ChatGPT时刻
  • Wpf-ReactiveUI-Usercontrol与主界面交互
  • 大语言模型学习--向量数据库基础知识
  • 本地运行Manus的替代方案:OpenManus的技术解析与实践指南
  • 【入门级篇】Dify安装+DeepSeek模型配置保姆级教程
  • 吉林省城乡建设部网站/济南seo优化
  • 镇江seo公司/宣城网站seo
  • 室内设计师之路网站/提升排名
  • 做网站改版的/全网热搜榜第一名
  • 网站建设公司做前端/搜狗推广登录
  • 用cms做单页网站怎么做/佛山seo优化