在Android N中,可以通过自定义时间选择器来实现30分钟间隔的选择。以下是一种实现方法:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<NumberPicker
android:id="@+id/hour_picker"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":" />
<NumberPicker
android:id="@+id/minute_picker"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
public class MainActivity extends AppCompatActivity {
private NumberPicker hourPicker;
private NumberPicker minutePicker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
hourPicker = findViewById(R.id.hour_picker);
minutePicker = findViewById(R.id.minute_picker);
// 设置小时选择器范围
hourPicker.setMinValue(0);
hourPicker.setMaxValue(23);
// 设置分钟选择器范围和间隔
String[] minutes = new String[60 / 30];
for (int i = 0; i < minutes.length; i++) {
minutes[i] = String.format("%02d", i * 30);
}
minutePicker.setDisplayedValues(minutes);
minutePicker.setMinValue(0);
minutePicker.setMaxValue(minutes.length - 1);
}
}
通过以上代码,我们创建了一个包含小时选择器和分钟选择器的自定义时间选择器布局,并设置了30分钟间隔的数据源。在Activity中,我们可以通过hourPicker.getValue()
和minutePicker.getValue()
来获取用户选择的小时和分钟。
这种方法可以适用于Android N及以上版本。如果需要兼容更早的Android版本,可以考虑使用第三方库或自定义控件来实现类似的功能。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云