Android MaterialDatePicker 在年份选择器上打开
创始人
2024-09-30 11:30:35
0

在Android中,可以使用MaterialDatePicker库来实现年份选择器。下面是一个示例代码,展示如何在Android中打开年份选择器。

首先,确保在项目的build.gradle文件中添加以下依赖项:

implementation 'com.google.android.material:material:1.3.0'

接下来,可以在Activity中使用以下代码来打开年份选择器:

import com.google.android.material.datepicker.MaterialDatePicker;
import java.util.Calendar;

public class MainActivity extends AppCompatActivity {

    private MaterialDatePicker yearPicker;

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

        // 创建一个Calendar实例,用于设置年份选择器的范围
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR, 1970); // 设置最小年份
        calendar.set(Calendar.MONTH, Calendar.JANUARY); // 设置最小月份
        long minDate = calendar.getTimeInMillis();

        calendar.set(Calendar.YEAR, 2022); // 设置最大年份
        calendar.set(Calendar.MONTH, Calendar.DECEMBER); // 设置最大月份
        long maxDate = calendar.getTimeInMillis();

        // 创建年份选择器实例
        yearPicker = MaterialDatePicker.Builder.yearPicker()
                .setTitleText("选择年份") // 设置标题
                .setSelection(MaterialDatePicker.todayInUtcMilliseconds()) // 设置默认选中的年份
                .setCalendarConstraints(
                        new CalendarConstraints.Builder()
                                .setStart(minDate)
                                .setEnd(maxDate)
                                .build()
                )
                .build();

        // 设置年份选择器的回调
        yearPicker.addOnPositiveButtonClickListener(selection -> {
            // 处理选择的年份
            Calendar selectedCalendar = Calendar.getInstance();
            selectedCalendar.setTimeInMillis(selection);
            int selectedYear = selectedCalendar.get(Calendar.YEAR);
            Toast.makeText(MainActivity.this, "选择的年份为:" + selectedYear, Toast.LENGTH_SHORT).show();
        });

        // 在按钮点击时打开年份选择器
        Button openPickerButton = findViewById(R.id.open_picker_button);
        openPickerButton.setOnClickListener(v -> {
            yearPicker.show(getSupportFragmentManager(), "YEAR_PICKER");
        });
    }
}

在上述示例代码中,首先创建了一个Calendar实例,用于设置年份选择器的最小和最大范围。然后,通过使用MaterialDatePicker.Builder来构建年份选择器实例,并设置标题、默认选中的年份以及范围。接下来,通过调用yearPicker.addOnPositiveButtonClickListener()来设置年份选择器的回调,以处理选择的年份。最后,在按钮点击时调用yearPicker.show()方法来打开年份选择器。

请注意,上述示例代码假设已经在布局文件中定义了一个按钮(id为open_picker_button),用于触发打开年份选择器的操作。

相关内容

热门资讯

透视好友!wejoker辅助脚... 透视好友!wejoker辅助脚本,we poker辅助器v3.3,手段教程(都是是真的挂)-哔哩哔哩...
透视后台!hhpoker是真的... 透视后台!hhpoker是真的还是假的(透视)开挂辅助技巧(一直真的是有挂)-哔哩哔哩1、游戏颠覆性...
透视真的!wpk德州局怎么透视... 透视真的!wpk德州局怎么透视,智星菠萝可以辅助吗,诀窍教程(本来是真的挂)-哔哩哔哩1、这是跨平台...
透视代打!hhpoker破解工... 透视代打!hhpoker破解工具(透视)开挂辅助神器(切实存在有挂)-哔哩哔哩1、全新机制【hhpo...
透视好牌!菠萝辅助器免费版的特... 透视好牌!菠萝辅助器免费版的特点,hhpoker透视脚本,教程书教程(都是是有挂)-哔哩哔哩1、每一...
透视开挂!hhpoker有没有... 透视开挂!hhpoker有没有辅助挂(透视)开挂辅助插件(确实真的有挂)-哔哩哔哩在进入hhpoke...
透视软件!wpk辅助购买,we... 您好,wepoker是不是有人用挂这款游戏可以开挂的,确实是有挂的,需要了解加去威信【1367043...
透视教程!wpk官网下载链接(... 透视教程!wpk官网下载链接(透视)开挂辅助挂(一直是有挂)-哔哩哔哩;1、透视教程!wpk官网下载...
透视透视!模拟器打开hhpok... 透视透视!模拟器打开hhpoker,哈糖大菠萝辅助器,手册教程(本来有挂)-哔哩哔哩1、超多福利:超...
透视德州版!hardrock辅... 透视德州版!hardrock辅助(透视)开挂辅助插件(确实有挂)-哔哩哔哩1)hardrock辅助辅...