首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Android中的TimePickerDialog中设置自定义分钟间隔

在Android中,要在TimePickerDialog中设置自定义分钟间隔,可以通过自定义TimePickerDialog实现。以下是一个示例代码:

代码语言:java
复制
import android.app.TimePickerDialog;
import android.content.Context;
import android.os.Bundle;
import android.widget.TimePicker;

import androidx.annotation.NonNull;

public class CustomTimePickerDialog extends TimePickerDialog {

    private final int mMinuteInterval;

    public CustomTimePickerDialog(@NonNull Context context, int themeResId, int minuteInterval, OnTimeSetListener listener, int hourOfDay, int minute, boolean is24HourView) {
        super(context, themeResId, listener, hourOfDay, minute, is24HourView);
        mMinuteInterval = minuteInterval;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        TimePicker timePicker = (TimePicker) findViewById(android.R.id.timePicker1);
        if (timePicker != null) {
            timePicker.setMinute(mMinuteInterval * (timePicker.getMinute() / mMinuteInterval));
            timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
                @Override
                public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
                    if (minute % mMinuteInterval != 0) {
                        int newMinute = mMinuteInterval * (minute / mMinuteInterval);
                        view.setCurrentMinute(newMinute);
                    }
                }
            });
        }
    }
}

在这个示例中,我们创建了一个名为CustomTimePickerDialog的自定义TimePickerDialog类,并在其中设置了一个名为mMinuteInterval的成员变量,用于存储自定义的分钟间隔。

在onCreate方法中,我们获取了TimePicker控件,并设置了其分钟间隔。我们还添加了一个OnTimeChangedListener,以确保在用户更改分钟时,分钟值始终是自定义分钟间隔的倍数。

要使用此自定义TimePickerDialog,请在您的代码中创建一个新的CustomTimePickerDialog实例,并传递所需的参数,包括自定义分钟间隔。例如:

代码语言:java
复制
int minuteInterval = 15;
CustomTimePickerDialog timePickerDialog = new CustomTimePickerDialog(this, null, minuteInterval, new TimePickerDialog.OnTimeSetListener() {
    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        // 处理用户设置的时间
    }
}, 12, 0, true);
timePickerDialog.show();

这将创建一个具有自定义分钟间隔为15分钟的TimePickerDialog,并在用户设置时间时调用OnTimeSetListener。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

基于TabLayoutTab间隔设置方法(实例讲解)

这里只讲怎么设置tab之间间隔,网上找了一堆方法,什么padding和margin啥都没用,没办法,想用TabLayout只能自己想办法了。效果如下: ?...--为了让TabLayout内部Tab有间隔,暂时找不到其他设置方法,只能在背景图形里面设置间隔-- <layer-list <item <shape <solid...="#bcbcbc"/ </shape </item </layer-list </item </selector 注释掉地方是原来没间隔selector,这里直接给背景设置了个左右...缺点:如果间隔过大的话,那这种方式就有一点缺陷了,就是点击到空白处,也能选中tab。 不过对于间隔不是很大,基本是感觉不出来。...; } return ""; } 以上这篇基于TabLayoutTab间隔设置方法(实例讲解)就是小编分享给大家全部内容了,希望能给大家一个参考。

2.4K20
  • Android自定义ImageView添加文字设置按下效果详解

    前言 我们在上一篇文章教大家使用ImageView+TextView组合自定义控件…可能在开发你还需要其他功能,例如:按下效果,可以在代码改变字体颜色,更换图片等等… 首先上效果图,看看是否是你需要...//设置文字距离上面图片距离 case "textTop": textTopId = attrs.getAttributeResourceValue(i, 0); break; //按下时显示文字颜色...= 0) this.setTextColor(textColorId); break; } return super.onTouchEvent(event); } /** * 设置默认图片 * * @...文件位置 下面我们来看看具体调用方法 ? 布局调用 当然我们也可以在Activity中进行再次设置, 例如: ?...在java设置 这些都是在自定义Viewset方法…也可以根据具体业务增删set方法.

    76741

    Android设置theme可能遇到

    :windowActionBar" false</item <item name="<em>android</em>:windowNoTitle" true</item <item name="<em>android</em>...</item </style 其中AppTheme使用<em>的</em>主题是AppCompat<em>的</em>主题,由于AppCompat主题下<em>的</em>windowActionBar和windowNoTitle<em>的</em>命名方式前都没有<em>android</em>...</item </style 原因二 如果主题<em>设置</em>成有Actionbar<em>的</em>Theme并且没有配: <item name="windowActionBar" false</item <item name...看下源码: 在我们设置toolbar时候: ((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);点进源码可以看到源码调用逻辑是...总结 以上就是这篇文章全部内容了,希望本文内容对大家学习或者工作具有一定参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ZaLou.Cn支持。

    1K30

    AndroidTextView文字设置不同颜色

    在项目的过程中会遇到在一行文字,部分功能需要不同文字颜色来展示,下面介绍两种方式实现: 效果图: [wqs2rn595h.png] 这里写图片描述 方式一: 用SpannableStringBuilder...setSpan方法有四个参数,ForegroundColorSpan是为文本设置前景色,也就是文字颜色。如果要为文字添加背景颜色,可替换为BackgroundColorSpan。...0为文本颜色改变起始位置,5为文本颜色改变结束位置。最后一个参数为布尔型,可以传入以下四种。...color='#4d8ade'>冷云他大叔:啊哈哈哈或"; tv.setTextSize(15); tv.setText(Html.fromHtml(str)); ---- 小编整理了一份Android...电子书籍,需要童鞋关注公众号回复:"e_books" 即可获取哦!

    9.7K20

    笔记58 | Android闹钟

    因此之前所述,对于网络请求,我们需要为闹钟触发时机增加随机性。 尽量避免让闹钟基于时钟时间。 想要在某一个精确时刻触发重复闹钟是比较困难。我们应该尽可能使用ELAPSED_REALTIME。...使用 setRepeating()时,你可以制定一个自定义时间间隔,但在使用 setInexactRepeating()时不支持这么做。...具体步骤如下: 1.在应用Manifest文件设置RECEIVEBOOTCMPLETED权限,这将允许你应用接收系统启动完成后发出ACTIONBOOTCOMPLETED广播(只有在用户至少将你应用启动了一次后... 注意Manifest文件,对接收器设置android:enabled="false"属性。...换句话说,通过代码设置启用配置将会覆盖掉Manifest文件现有配置,即使重启也不例外。接收器将保持启动状态,直到你应用将其禁用。

    1.6K30

    何在 React Select 标签上设置占位符?

    本文将详细介绍如何在 React 标签上设置占位符,并提供示例代码帮助你理解和应用这个功能。...使用 disabled 属性一种常用方法是使用 disabled 属性来模拟占位符。通过将一个默认选项设置为禁用状态,我们可以在选择框显示一个占位符,并阻止用户选择该选项。...可以使用 placeholder 属性来设置占位符文本。这些库提供了更多高级功能和自定义选项,可以根据项目需求选择适合库来实现占位符功能。...注意事项需要注意以下几点:自定义组件可以为你提供更大自由度和控制力,但也需要更多代码来实现所需功能。在示例代码,我们使用了一个 元素来模拟占位符,你可以根据项目需求进行修改和定制。...结论本文详细介绍了在 React 如何设置 标签占位符。

    3.1K30

    良心教程 | 如何在Typora设置免费图床

    设置好之后,写一篇教程,记录一下。 ❞ 「秀技能」 ❝今天同事发给我一个md文件,一往昔,图片没有显示出来,我说又到了我安利给你图床时候了,「免费」,「快速」,「粘贴后自动上传」,这三点不香吗。...这样,在Typora书写,在markdown nice渲染,然后复制到知乎和公众号上,非常流畅,多年梦想终于实现了。闭环感觉,别提多爽了,哈哈 ❞ 1....无论是免费图库,还是将项目放上面,还是将电子书放上面,还是将博客放上面,都非常方便。后面我介绍如何在上面使用bookdown写书。 ❞ 2....新建gitee项目 ❝飞哥注:这里主要是设置秘钥,然后copy到PicGo,就可以自动关联了。 ❞ 点击个人头像,点击设置: ?...设置PicGo ❝飞哥注:注意这里repo要填写用户名+项目名,不要有http,不要有git,比如dengfei2013/tuku ❞ 打开PicGo,找到图床设置,找到gitee,填写相关信息 repo

    6.1K10

    Android 自定义ViewonMeasure onLayout onDraw

    正文 Android自定义View时常重写三个方法onMeasure和onLayout以及onDraw。...View还有三个比较重要方法 requestLayout View重新调用一次layout过程。...如果我们自定义View内容变了 但大小位置不变的话。只需要调用invalidate. 如果我们自定义View内容变了 大小位置也变的话。...其中setMeasuredDimension()方法,设置了measure过程View宽高 getSuggestedMinimumWidth()返回View最小Width,Height也有对应方法...getHeight() 获取真实高度 自定义属性 在values文件夹下,打开attrs.xml,其实这个文件名称可以是任意,写在这里更规范一点 假设我们用到了两个属性一个宽度,一个颜色值属性

    2.6K10

    Android通知和自定义通知布局

    Android通知(Notification)是Android重要一部分,应用程序通过通知来提醒用户或者向用户传达信息,下面让我们来看一下怎么在我们程序中使用通知和自定义通知布局。...:text="发送第二种通知"/> 布局两个按钮分别用来发送系统布局通知和我们自定义布局通知,接下来是我们自定义通知布局,新建一个布局文件notification.xml...) // 设置通知提醒方式为系统默认提醒方式 .setContent(remoteViews) // 通过设置RemoteViews对象来设置通知布局,这里我们设置自定义布局...言归正传,这个广播干什么用呢:在自定义通知布局我们要对两个按钮进行事件处理,在自定义通知布局,我们必须使用RemoteViews对象来对布局文件两个按钮进行事件处理,而 RemoteViews...这里图片是随便找,不太美观,大家多多谅解。分别单击通知两个按钮: ? ? Nice,我们成功自定义了属于我们自己通知 如果博客中有什么不正确地方,还请多多指点 谢谢观看。。。

    3.5K20

    【快速解决】实验四 对话框 《Android程序设计》实验报告

    ProgressDialog:进度对话框,是对简单进度条封装。 DatePickerDialog:日期选择对话框。 TimePickerDialog:时间选择对话框。...自定义对话框:对话框布局自定义,并设置监听事件 五、实验步骤 新建页面 插入对话框 对对话框属性和内容进行更改 监听对话框 六、实验注意事项 (一)机房使用规范和用电安全。...(二)注意实践监听代码写在.JAVA文件。 七、实验报告要求 实验报告以书面/电子形式提交,严禁抄袭,一旦发现,即为零分。..._main.xml代码如下,直接复制即可 <?...第一个SecondActivity 第二个 ThirdActivity 下载开始直接复制即可,无脑复制,快速结束战斗(估计要花3分钟) SecondActivity.java代码 import androidx.appcompat.app.AppCompatActivity

    21610

    何在Android避免创建不必要对象

    关于Java自动装箱与拆箱,参考文章Java自动装箱与拆箱 谨慎选用容器 Java和Android提供了很多编辑容器集合来组织对象。...正常情况下我们在manifest声明Activity,如果不设置LaunchMode就使用默认standard模式。...所以减少辅助布局还是很有必要。可以尝试其他布局方式或者自定义视图来解决这类问题。...不要过多创建线程 在android,我们应该尽量避免在主线程执行耗时操作,因而需要使用其他线程。...想要深入了解注解,可以阅读详解Java注解 选用对象池 在Android中有很多池概念,线程池,连接池。包括我们很长用Handler.Message就是使用了池技术。

    2.5K20

    时间选择器TimePickerDialog

    TimePickerDialog是一个android自带设置时间而提供Dialog,使用起来简单,上手快。时常配合Canlendar一起使用。 ?...日历对象还有一个重要方法是setTimeInMillis,该方法只有一个参数,即距离1970年1月1日0时毫秒数,调用这个方法,则会根据你传入毫秒数对日历对象变量进行相应设置,如果想设置为当前系统时间...,则用以下方式:“c.setTimeInMillis(System.currentTimeMillis()); TimePickerDialog使用: new TimePickerDialog(MenuView.this...方法有五个参数,第一个参数(MenuView.this)为弹出时间对话框所在activity指针;第二个参数是一个监听,它监听是当时间设置完成后回调,返回参数有view、设置hour、设置...minute;第三个参数(hour)和第四个参数(minute)为弹出时间对话框初始显示小时和分钟,这两个变量在蓝色代码中进行初始化;第五个参数为设置24时显示参数,true代表时间以24时制显示时间

    2.3K20

    何在Ubuntu 16.04上Jenkins设置持续集成管道

    设置Jenkins访问GitHub 返回主Jenkins仪表板,单击左侧菜单Manage Jenkins: [Manage Jenkins] 在下一页链接列表,单击“ 配置系统”: [配置系统]...在GitHub帐户设置演示应用程序 为了演示如何使用Jenkins测试应用程序,我们将使用一个用Hapi.js创建“hello world”程序。...Test步骤打印另一条消息,然后按package.json文件定义运行测试。 我们可以设置Jenkins来监视Jenkinsfile存储库并在引入更改时运行该文件。...在Jenkins创建一个新管道 接下来,我们可以设置Jenkins使用GitHub个人访问令牌来查看我们存储库。...为了触发Jenkins设置适当hook,我们需要在第一次执行手动构建。 在管道主页面,单击左侧菜单“ 立即构建”: [立即构建] 这将开始新构建。

    6K30
    领券