android-betterpickers

[复制链接]
来自: MrlLee 分类: Android精品源码 上传时间: 2016-3-22 18:09:18
Tag:

项目介绍:

在AOSP时钟和日历应用程序仿照DialogFragments改善UX采摘时间,日期,数字和其他东西。
Including in Your ProjectGradlecompile 'com.code-troopers.betterpickers:library:2.5.2'
Maven
[XML] 查看源文件 复制代码

  com.code-troopers.betterpickers
  library
  2.5.2
  aar

Usage
对于这个项目的执行工作看sample/ folder
Calendar Date Picker
[Java] 查看源文件 复制代码
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        CalendarDatePickerDialogFragment cdp = new CalendarDatePickerDialogFragment()
                .setOnDateSetListener(SampleCalendarDateBasicUsage.this)
                .setFirstDayOfWeek(Calendar.SUNDAY)
                .setPreselectedDate(towDaysAgo.getYear(), towDaysAgo.getMonthOfYear() - 1, towDaysAgo.getDayOfMonth())
                .setDateRange(minDate, null)
                .setThemeDark(true);
        cdp.show(getSupportFragmentManager(), FRAG_TAG_DATE_PICKER);
    }
});

Radial Time Picker
[Java] 查看源文件 复制代码
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        RadialTimePickerDialogFragment rtpd = new RadialTimePickerDialogFragment()
                .setOnTimeSetListener(SampleRadialTimeBasicUsage.this)
                .setStartTime(10, 10)
                .setThemeDark(true);
        rtpd.show(getSupportFragmentManager(), FRAG_TAG_TIME_PICKER);
    }
});

Recurrence Picker
[Java] 查看源文件 复制代码
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        FragmentManager fm = getSupportFragmentManager();
        Bundle bundle = new Bundle();
        Time time = new Time();
        time.setToNow();
        bundle.putLong(RecurrencePickerDialogFragment.BUNDLE_START_TIME_MILLIS, time.toMillis(false));
        bundle.putString(RecurrencePickerDialogFragment.BUNDLE_TIME_ZONE, time.timezone);
        bundle.putString(RecurrencePickerDialogFragment.BUNDLE_RRULE, mRrule);
        bundle.putBoolean(RecurrencePickerDialogFragment.BUNDLE_HIDE_SWITCH_BUTTON, true);

        RecurrencePickerDialogFragment rpd = new RecurrencePickerDialogFragment();
        rpd.setArguments(bundle);
        rpd.setOnRecurrenceSetListener(SampleRecurrenceBasicUsage.this);
        rpd.show(fm, FRAG_TAG_RECUR_PICKER);
    }
});

Timezone Picker
[Java] 查看源文件 复制代码
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        FragmentManager fm = getSupportFragmentManager();
        Bundle bundle = new Bundle();
        Time time = new Time();
        time.setToNow();
        bundle.putLong(TimeZonePickerDialogFragment.BUNDLE_START_TIME_MILLIS, time.toMillis(false));
        bundle.putString(TimeZonePickerDialogFragment.BUNDLE_TIME_ZONE, time.timezone);
        bundle.putString(RecurrencePickerDialogFragment.BUNDLE_RRULE, mRrule);

        TimeZonePickerDialogFragment tzpd = new TimeZonePickerDialogFragment();
        tzpd.setArguments(bundle);
        tzpd.setOnTimeZoneSetListener(SampleTimeZoneBasicUsage.this);
        tzpd.show(fm, FRAG_TAG_TIME_ZONE_PICKER);
    }
});

Date Picker
[Java] 查看源文件 复制代码
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        DatePickerBuilder dpb = new DatePickerBuilder()
                .setFragmentManager(getSupportFragmentManager())
                .setStyleResId(R.style.BetterPickersDialogFragment)
                .setYearOptional(true);
        dpb.show();
    }
});

Expiration Picker
[Java] 查看源文件 复制代码
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        ExpirationPickerBuilder epb = new ExpirationPickerBuilder()
                  .setFragmentManager(getSupportFragmentManager())
                  .setStyleResId(R.style.BetterPickersDialogFragment) 
                  .setMinYear(2000);
        epb.show();
    }
});

HMS Picker
[Java] 查看源文件 复制代码
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        HmsPickerBuilder hpb = new HmsPickerBuilder()
                .setFragmentManager(getSupportFragmentManager())
                .setStyleResId(R.style.BetterPickersDialogFragment);
        hpb.show();
    }
});

Number Picker
[Java] 查看源文件 复制代码
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        NumberPickerBuilder npb = new NumberPickerBuilder()
                .setFragmentManager(getSupportFragmentManager())
                .setStyleResId(R.style.BetterPickersDialogFragment)
                .setLabelText("LBS.");
        npb.show();
}
});

Time Picker
[Java] 查看源文件 复制代码
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        TimePickerBuilder tpb = new TimePickerBuilder()
                .setFragmentManager(getSupportFragmentManager())
                .setStyleResId(R.style.BetterPickersDialogFragment);
        tpb.show();
    }
});

Theming
对于主题化的演示,看sample/ folder
您可以使用自己的主题,如果你想改变某些属性。 BetterPickers目前允许下列属性的定制:
    bpDialogBackground       :: 用作窗户背景为DialogFragment可提拉(优选9-补丁)    bpTextColor              :: 色(可选状态列表)在DialogFragment所有文本    bpDeleteIcon             :: 提拉(可选状态列表)的删除按钮    bpCheckIcon              :: 提拉(可选状态列表),在日期对话框选择器检查按钮    bpKeyBackground          :: 提拉(可选状态列表)的键盘按钮    bpButtonBackground       :: 对于设置绘制(可选状态列表),取消和删除按钮    bpDividerColor           :: 用于DialogFragment分频器的颜色    bpKeyboardIndicatorColor :: 用于ViewPagerIndicator的日期对话框选择器的颜色
  • styles.xml:
    [XML] 查看源文件 复制代码
  • 使用自定义主题实例化你DialogFragment:
    [Java] 查看源文件 复制代码
    DatePickerBuilder dpb = new DatePickerBuilder()
        .setFragmentManager(getSupportFragmentManager())
        .setStyleResId(R.style.MyCustomBetterPickerTheme);
    dpb.show();



相关源码推荐:

我来说两句
所有评论(2)
apkbus热心网友 2017-5-20 10:28:51
虽不明,但觉厉!
回复
Forssecorn 2019-10-22 15:48:46
很给力,安卓巴士有你更精彩!
回复
Forssecorn 2019-10-22 15:50:58
精华内容,楼主V5!
回复
apkbus热心网友 2019-10-22 18:56:58
正需要啊,感谢楼主无私分享!
回复
apkbus热心网友 2019-10-22 22:06:34
很给力,安卓巴士有你更精彩!
回复
很给力,安卓巴士有你更精彩!
回复
虽不明,但觉厉!
回复
提取码:  下载次数:1 状态:已购或VIP 售价:10(原价:10)金钱 下载权限:初级码农 
2352 0 1
代码贡献英雄榜
用户名 下载数
联系我们
首页/微信公众账号投稿
帖子代码编辑/版权问题
QQ:435399051,1294855032
如何获得代码达人称号?
如何成为签约作者?
领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:1294855032@qq.com

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )