4

ここに画像の説明を入力

Android の目覚まし時計アプリの UI がどのように設計されているかを理解しようとしています。これは Holo Dark テーマを使用しているようです。

含まれているスクリーンショットは、[アラームの作成/編集]Activity画面です。Android の設定に似ています。この場合ですか?「アラームをオンにする」と「バイブレーション」の行が のように見えるためですChexboxPreferences。「着信音」行は のように見えますRingtonePreference。「時間」行はどうですか?

以下の回答の 1 つに対するコメントで @eric が述べたように、目覚まし時計アプリと同様のインターフェイスを再作成しようとしています。アプリからアラーム マネージャーを開始するインテントを送信したくありません。

「ラベル」行はどうですか?これは、ビューのように機能しEditTextます。xml タグ内でViewsとの組み合わせを使用できますか?PreferencesPreferenceScreen

また、ActionBarには垂直パイプがあります。これがどのように作成されたかはわかりませんが、「完了」ビューはImageButton?

アラームアプリには1つのアラームだけでなく複数のアラームを設定できるため、これが設定の組み合わせであるとは完全に確信していません. 複数のアラームがあり、複数のファイルを使用しない場合SharedPreferences、コンテンツ プロバイダーを作成して、複数のアラームに関連する情報を保存することは当然のことです。

4

3 に答える 3

8

ストックの目覚ましアプリはオープンソースなので、自分で調べてみてください。

優先レイアウトはこちらを参照してください:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    android:title="@string/set_alarm">
    <CheckBoxPreference android:key="on" 
        android:title="@string/enable"/>
    <Preference android:key="time" 
        android:title="@string/time"/>
    <com.android.alarmclock.AlarmPreference
        android:key="alarm" 
        android:title="@string/alert"
        android:ringtoneType="alarm"
        android:showDefault="false"
        android:showSilent="false" />
    <CheckBoxPreference android:key="vibrate" 
        android:title="@string/alarm_vibrate"/>
    <com.android.alarmclock.RepeatPreference
        android:key="setRepeat" 
        android:title="@string/alarm_repeat" />
    <EditTextPreference android:key="label"
        android:title="@string/label"
        android:dialogTitle="@string/label" />
</PreferenceScreen>

設定アクティビティはこちらを参照してください。参照したリンクは最新版のものではないことに注意してください。

いくつかのハイライト:

  • 時間は地味android.preference.Preferenceで、裏打ちされていTimePickerDialogます。
  • Ringtoneのカスタマイズされた実装ですandroid.preference.RingtonePreference
  • Repeat は、android.preference.ListPreference のカスタマイズされた実装です。
  • アラームは、コンテンツ プロバイダを使用する静的クラスcom.android.alarmclock.Alarmsによって管理され、実際の情報が保存されます。
  • Android 4.0 からデフォルトで Holo テーマが使用されますが、それ以外の Android バージョンでは、異なるテーマが表示される場合があります。アプリの実装は、異なる Android バージョンまたはデバイス ベンダーによっても変更される可能性があることに注意してください。
于 2012-12-03T02:47:40.250 に答える
2

時間指定のクラスは特にありません。簡単な設定を作成し、設定がクリックされたときに TimePickerDialog を開こうとするだけです。時間が変更されたときにプリファレンスの概要を変更します。

于 2012-11-23T06:16:05.243 に答える
0

これをリスト項目のクリック時にコード行の下に配置したい (時間クリック)

startActivity(new Intent(android.provider.Settings.ACTION_DATE_SETTINGS));
于 2012-11-23T05:13:28.717 に答える