Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何自定义时间选择器以仅显示/设置1-12小时,而不显示(上午/下午和分钟)API 19并禁用侦听器_Java_Android_Android Timepicker - Fatal编程技术网

Java 如何自定义时间选择器以仅显示/设置1-12小时,而不显示(上午/下午和分钟)API 19并禁用侦听器

Java 如何自定义时间选择器以仅显示/设置1-12小时,而不显示(上午/下午和分钟)API 19并禁用侦听器,java,android,android-timepicker,Java,Android,Android Timepicker,我想用一个时间选择器向人体展示医学现象在上下文中的位置 例:一个人的右脚在7点钟时受伤。(用于右脚内侧的图片) 为此,我想使用一个时间选择器,它使用时钟显示,只启用1-12小时,禁用am/pm选择器和分钟选择器 第二个问题我需要使用API 19,它不支持设置/获取小时/分钟。(在测试时看到了这一点,但不知道这是否会因为API 23 req而影响来自时间选择器的更多方法。) 为了测试这一点,我在一个示例项目中添加了一个时间选择器: 活动\u main.xml: <TableLayout xm

我想用一个时间选择器向人体展示医学现象在上下文中的位置

例:一个人的右脚在7点钟时受伤。(用于右脚内侧的图片)

为此,我想使用一个时间选择器,它使用时钟显示,只启用1-12小时,禁用am/pm选择器和分钟选择器

第二个问题我需要使用API 19,它不支持设置/获取小时/分钟。(在测试时看到了这一点,但不知道这是否会因为API 23 req而影响来自时间选择器的更多方法。)

为了测试这一点,我在一个示例项目中添加了一个时间选择器:

活动\u main.xml

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

<TableRow
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:orientation="horizontal">
        <EditText
            android:id ="@+id/edit_Message"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:hint="@string/edit_message"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/button_send"
            android:onClick="sendMessage"/>
    </LinearLayout>
</TableRow>
<TableRow>
    <LinearLayout>
        <TimePicker
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/timePicker"
            android:layout_column="1"
            android:timePickerMode="clock" />
    </LinearLayout>
</TableRow>
</TableLayout>
因此,我能够使分钟不可点击和am/pm选择器不可见(消失)


如何找到将径向时钟从小时切换到分钟的监听器?

为什么每天只允许12小时?到目前为止还没有意义……在medicin中,你使用测量小时来定位事物,这些时间从1到12。如果你有一个人,12点将是头部,9点将是右臂等。这只是为了方便(从事医学工作的人已经习惯了这一点,所以我想在应用程序中应用它以及可用性的目的)。因此,时钟的实际值不是“时间”,而是“位置”。谢谢你的代码帮助我隐藏了很多分钟
    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    TimePicker picker = (TimePicker) findViewById(R.id.timePicker);
    picker.setIs24HourView(false);
    LinearLayout pickerLL = (LinearLayout) picker.getChildAt(0); //only child of timepicker
    RelativeLayout digitalRL = (RelativeLayout) pickerLL.getChildAt(0); //child 0 is digital clock, child 1 is radial clock
    AppCompatTextView minutesTV = (AppCompatTextView) digitalRL.getChildAt(2); //TextView of minutes
    minutesTV.setClickable(false);
    //minutesTV.setVisibility(View.GONE);
    LinearLayout ampmLL = (LinearLayout) digitalRL.getChildAt(3); // Layout of the am / pm picker
    ampmLL.setVisibility(View.GONE);

    picker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
        @Override
        public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
            //Put the change for timepicker hour here
        }
    });

}