学习Android的第十四天

这篇具有很好参考价值的文章主要介绍了学习Android的第十四天。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

Android DatePicker 日期选择器

DatePicker 属性 和 事件

DatePicker 事件

获得 DatePicker 的值

Android TimePicker 时间选择器

TimePicker 属性

TimePicker 事件

获得 TimePicker 的值

Android CalendarView 日历视图

CalendarView 属性

CalendarView 事件

获得 CalendarView 的值


Android DatePicker 日期选择器

在Android中,DatePicker是一个用户界面组件,用于允许用户选择日期。它通常以对话框的形式出现,用户可以通过滚动选择年、月和日来选择所需的日期。

DatePicker 属性 和 事件

在Android中,DatePicker具有许多属性,可以用来自定义其外观和行为。以下是一些常用属性的说明:

  • android:calendarTextColor: 设置日历列表的文本颜色。
  • android:calendarViewShown: 设置是否显示日历视图。可选值为true或false。
  • android:datePickerMode: 设置DatePicker的组件外观。可选值有"spinner"和"calendar",默认为"calendar"。
  • android:dayOfWeekBackground: 设置顶部星期几的背景颜色。
  • android:dayOfWeekTextAppearance: 设置顶部星期几的文字颜色。
  • android:endYear: 设置结束年份。
  • android:firstDayOfWeek: 设置日历列表以星期几开头。
  • android:headerBackground: 设置整个头部的背景颜色。
  • android:headerDayOfMonthTextAppearance: 设置头部日期字体的颜色。
  • android:headerMonthTextAppearance: 设置头部月份的字体颜色。
  • android:headerYearTextAppearance: 设置头部年的字体颜色。
  • android:maxDate: 设置最大日期,以mm/dd/yyyy格式显示在日历视图中。
  • android:minDate: 设置最小日期,以mm/dd/yyyy格式显示在日历视图中。
  • android:spinnersShown: 设置是否显示spinner。可选值为true或false。
  • android:startYear: 设置第一年(内容)。
  • android:yearListItemTextAppearance: 设置列表的文本在列表中的外观。
  • android:yearListSelectorColor: 设置年份列表选择的颜色。

DatePicker 事件

DatePicker在日期值改变时会触发OnDateChangedListener事件。这个事件通常用于捕获用户选择的新日期,并执行相应的操作。

在Android中,OnDateChangedListener接口定义了一个回调方法onDateChanged(),该方法在用户改变DatePicker的日期时被调用。这个方法提供了几个参数:

  • DatePicker:触发了日期改变事件的DatePicker实例。
  • year:新选择的年份。
  • monthOfYear:新选择的月份,注意这里月份是从0开始的,即0代表一月,11代表十二月。
  • dayOfMonth:新选择的日期。

获得 DatePicker 的值

DatePicker本身并没有直接提供方法来获取其值。但是,可以通过获取其年、月、日的值,然后将它们组装成需要的形式。通常,可以使用Calendar类来帮助进行这些操作。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center">
        <DatePicker
            android:id="@+id/datePicker"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true" />

        <Button
            android:id="@+id/showDateButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/datePicker"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="20dp"
            android:text="显示所选日期" />

</LinearLayout>
package com.example.myapplication;

import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.DatePicker;

import androidx.appcompat.app.AppCompatActivity;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity {

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

        final DatePicker datePicker = findViewById(R.id.datePicker);
        Button showDateButton = findViewById(R.id.showDateButton);

        showDateButton.setOnClickListener(v -> {
            // 获取当前日期
            Calendar calendar = Calendar.getInstance();
            int year = datePicker.getYear();
            int month = datePicker.getMonth();
            int dayOfMonth = datePicker.getDayOfMonth();

            // 设置Calendar的日期为DatePicker选择的日期
            calendar.set(year, month, dayOfMonth);

            // 获取所选日期的年、月、日
            int selectedYear = calendar.get(Calendar.YEAR);
            int selectedMonth = calendar.get(Calendar.MONTH); // 月份从0开始计数,需要加1
            int selectedDayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);

            // 输出所选日期
            Log.d("DatePicker", "选定日期: " + selectedDayOfMonth + "/" + (selectedMonth + 1) + "/" + selectedYear);
        });
    }
}

Android TimePicker 时间选择器

在Android中,TimePicker是一个用户界面组件,用于允许用户选择时间。它可以显示为24小时制或12小时制(AM/PM)。

通常情况下,使用TimePickerDialog更为常见,因为它提供了一个方便的对话框来选择时间。

TimePicker 属性

在Android中,TimePicker有一个属性android:timePickerMode,可以用来设置TimePicker的外观。这个属性主要有两种取值:

  • clock:这是默认的外观,会显示一个时钟样式的TimePicker。
  • spinner:这种外观会显示为下拉菜单样式的TimePicker,用户可以从下拉菜单中选择小时和分钟。

TimePicker 事件

TimePicker组件在时间改变时会触发TimePicker.OnTimeChangedListener事件。这个事件通常用于捕获用户选择的新时间,并执行相应的操作。

在Android中,TimePicker.OnTimeChangedListener接口定义了一个回调方法onTimeChanged(),该方法在用户改变TimePicker的时间时被调用。这个方法提供了三个参数:

  • TimePicker:触发了时间改变事件的TimePicker实例。
  • hourOfDay:新选择的小时数,24小时制。
  • minute:新选择的分钟数。

获得 TimePicker 的值

与DatePicker类似,TimePicker也没有提供直接获取其值的方法。但是,可以通过调用getHour()和getMinute()方法分别获取所选的小时和分钟。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center">
        <TimePicker
            android:id="@+id/timePicker"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:timePickerMode="spinner"
            android:layout_centerInParent="true" />


</LinearLayout>
package com.example.myapplication;

import android.os.Bundle;
import android.util.Log;
import android.widget.TimePicker;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

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

        TimePicker timePicker = findViewById(R.id.timePicker);
        timePicker.setIs24HourView(true); // 设置为24小时制

        // 设置时间改变监听器
        timePicker.setOnTimeChangedListener((view, hourOfDay, minute) -> {
            // 当时间改变时调用此方法
            // 在这里你可以获取所选的小时和分钟,并执行你需要的操作
            Log.d("TimePicker", "选定的时间: " + hourOfDay + ":" + minute);
        });
    }
}

Android CalendarView 日历视图

在Android中,CalendarView是一个用于显示和选择日期的日历视图控件。通过CalendarView,用户可以浏览月份,并选择特定的日期。可以使用android:minDate和android:maxDate属性来设置CalendarView显示的时间范围。

CalendarView 属性

CalendarView 属性很多,我们只介绍几个主要的

CalendarView 事件

CalendarView在选择日期时会触发CalendarView.OnDateChangeListener事件。这个事件通常用于捕获用户选择的新日期,并执行相应的操作。

在Android中,CalendarView.OnDateChangeListener接口定义了一个回调方法onSelectedDayChange(),该方法在用户改变CalendarView选择的日期时被调用。这个方法提供了几个参数:文章来源地址https://www.toymoban.com/news/detail-832818.html

  • CalendarView:触发了日期改变事件的CalendarView实例。
  • year:新选择的年份。
  • month:新选择的月份,从0开始计数,即0代表一月,11代表十二月。
  • dayOfMonth:新选择的日期。

获得 CalendarView 的值

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center">
        <CalendarView
            android:id="@+id/calendarView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/selectedDateTextView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="选定日期"
            android:textSize="20sp" />

</LinearLayout>
package com.example.myapplication;

import android.os.Bundle;
import android.util.Log;
import android.widget.CalendarView;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private TextView selectedDateTextView;

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

        CalendarView calendarView = findViewById(R.id.calendarView);
        selectedDateTextView = findViewById(R.id.selectedDateTextView);

        calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
            @Override
            public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
                // 当日期改变时调用此方法
                String selectedDate = year + "-" + (month + 1) + "-" + dayOfMonth;
                selectedDateTextView.setText("选定日期: " + selectedDate);
                Log.d("CalendarView", "选定日期: " + selectedDate);
            }
        });
    }
}

到了这里,关于学习Android的第十四天的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 15天学习MySQL计划(运维篇)分库分表-监控-第十四天

    1.介绍 1.问题分析 ​ 随着互联网及移动互联网的发展,应用系统的数据量也是成指数式增加,若采用但数据进行数据存储,存在以下性能瓶颈: IO瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘IO,效率较低。请求数据太多,带宽不够,网络IO瓶颈。 CPU瓶颈:排序,分

    2024年02月05日
    浏览(35)
  • 第一百一十四天学习记录:C++提高:类模板案例(黑马教学视频)

    main.cpp代码: myarray.hpp代码: 输出: 总结:能够利用所学知识点实现通用的数组。 个人感悟:学习了这个案例之后接下来的课程就是STL了,STL其实在我工作中写代码时经常碰到,尤其是在读同事代码的时候,因为没有学过,通过自行百度获得碎片的知识导致读起来很很吃力

    2024年02月16日
    浏览(36)
  • 第四十四天

    ●scoped 属性      HTML5 中的新属性(布尔属性)。如果使用该属性,则样式仅仅应用到 style 元素的父元素及其子元素。父组件的样式将不会渗透到子组件中。      实现组件的私有化,不对全局造成样式污染,表示当前style属性只属于当前模块。 ●CSS动画      动画允许元素

    2024年02月16日
    浏览(33)
  • 第四十四天打卡

    零钱兑换 II 中等 1K 相关企业 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带符号

    2024年02月03日
    浏览(39)
  • 【力扣刷题 | 第二十四天】

    目录 前言: 1049. 最后一块石头的重量 II - 力扣(LeetCode) 494. 目标和 - 力扣(LeetCode) 总结:                  今天我们依然暴打动态规划 有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意两块石头,然后将它们一起粉

    2024年02月14日
    浏览(31)
  • 算法练习第六十四天

    LCR 184. 设计自助结算系统 - 力扣(LeetCode) 总结:利用一个双端维护队列一个往后递减的队列,对头是最大值,每次进入一个新值时就一直和队尾元素比较将比新的值小的数排出,这样能保证留在队列中的数都是会对最大值产生影响的数,而当主队列中将要排出的数与双端队

    2024年02月07日
    浏览(43)
  • MFC补充第十四天 句柄嫁接与子类化

    句柄嫁接与子类化: a)Attach和Detach就是单纯的嫁接与分离函数。 对象一旦嫁接入一个句柄,就可以自由地调用CWnd或其派生类的功能。 b)子类化Subclass内部包含Attach,额外再增加一个消息转拨到派生类(SubClass就是子类) c)SubClassWindow函数内部核心功能就是Attach和::SetWindowLong

    2024年02月16日
    浏览(37)
  • 十四天学会C++之第五天:类的详细讨论

    什么是友元函数和友元类,它们的作用。 如何声明和使用友元函数和友元类,访问类的私有成员。 友元函数(Friend Functions) 友元函数是一种特殊的函数,它被允许访问类的私有成员。这意味着即使成员是私有的,友元函数也能够直接访问它们,而不需要通过公有接口。这提

    2024年02月07日
    浏览(36)
  • 十四天学会C++之第一天(入门和基本语法)

    C++诞生于20世纪80年代初,它的创造者是计算机科学家Bjarne Stroustrup。当时,Stroustrup在贝尔实验室工作,他希望为C语言添加一些功能,以便更好地支持系统开发。这个愿望促使他创建了C++。 C++的名字来源于它的基因,其中的\\\"C\\\"代表了C语言,而\\\"++\\\"表示C语言的一个增强版本。这

    2024年02月07日
    浏览(41)
  • 蓝桥杯十四天冲刺班 第十四天《考场经验 | 历年考点 | 蓝桥杯押题》《C,JAVA,PY在蓝桥杯中必须要会用的容器 | 集合》(3K+字解析)

     📒博客首页:Sonesang的博客 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 ❤️ :热爱Java与算法学习,期待一起交流! 🙏作者水平很有限,如果发现错误,求告知,多谢! 🌺有问题可私信交流!!!   目录 算法 实力 = 知识点+刷题量+速度+灵活的大脑 C++组知识点 java组知识点

    2023年04月15日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包