0

この Android 開発者ページのコードを使用して、ボタンが押されたときにタイム ピッカーを作成しました。しかし、私はそれを正しく見ていません。使用率が高いため 2.3 をサポートしたいので、アプリのターゲットを API 18 に設定しています。最小値は 10 です。最低限必要な SDK は問題に影響を与えていないようです (私は 16 に設定しました):

Android 4.1.2、API 16 を搭載した HTC One S でアプリケーションをデバッグしています。

http://www.b2creativedesigns.com/Tutorials/TimePicker/tutorial_timepicker2.png

この先史時代のタイムピッカーを使用するのはなぜですか?

次のスニペットを使用してダイアログを作成します。FragmentActivity から呼び出します。

DialogFragment newFragment = TimePickerFragment.newInstance(2);
newFragment.show(getSupportFragmentManager(), "endtime");

のコードですTimePickerFragment

public static class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener {
    private static int id;

    public static TimePickerFragment newInstance(int _id) {
        Bundle args = new Bundle();
        args.putInt("id", _id);

        id = _id;

        TimePickerFragment f = new TimePickerFragment();
        f.setArguments(args);

        return f;
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        id = getArguments().getInt("id");

        int hour = start / 60;  // start is a global variable, no problems in these
        int minute = start % 60;

        if(id == 2) {
            hour = end / 60;
            minute = end % 60;
        }

        return new TimePickerDialog(getActivity(), this, hour, minute, DateFormat.is24HourFormat(getActivity()));
    }

    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        System.out.println(hourOfDay + ":" + minute);
        setTime(id, hourOfDay, minute);
    }

}
4

3 に答える 3

3

アプリで Holo ウィジェットを機能させるには、Holo テーマを使用する必要があります。例えば ​​:

アプリケーションの下のマニフェストで:

android:theme="@style/AppTheme"

そしてあなたの res/values フォルダに:

<style name="AppBaseTheme" parent="android:Theme.Light.NoTitleBar">
</style>

これを values-v11 および values-v14 で使用している間:

<style name="AppBaseTheme" parent="android:Theme.Holo.Light.NoActionBar">
</style>

システムは、デバイスの Android バージョンに応じて、Theme.Light と Theme.Holo.Light を切り替えます。

于 2013-10-25T14:09:30.533 に答える
1

このライブラリを見てみたいと思うかもしれません。これは Android 4.2 からバックポートされた TimePicker で、Android 2.1 以降で動作します。

https://github.com/SimonVT/android-timepicker

于 2013-10-28T16:20:28.410 に答える