0

私はCalendar views自分のアプリケーションで3つの異なるものを作成しようとしていますが、それぞれが異なるボタンによってトリガーされます。

1つ目は、特定の日付を選択できる標準のカレンダーです。2つ目も同様ですが、日ではなく月全体を選択するだけです。最後に、年全体を選択します。

ウィジェットがあることに気づきましたが、CalendarView11未満のAPIレベルでは使用できません。

私は周りにいくつかのカスタムクラスを見てきましたが、それらは他の人によって作成されたかなりの数のクラスを含み、私は本当にそれらに依存したくありません。DatePicker必ずしものように見える必要はないので、私も調べましたCalendar。各日付ピッカーに関連するフィールドのスピナーがあれば、それも機能します。

4

2 に答える 2

0

私の知る限り、あなたはここであなた自身を転がさなければならないでしょう。android.utilには、 MonthDisplayHelperと呼ばれる小さなヘルパーがあります。これは、6行のカレンダーグリッドを表示するための基本的な計算の一部に役立ちます。それ以外に、カレンダーは比較的頻繁に使用されますが、カレンダーウィジェットやそのような組み込みクラスは実際にはありません。

于 2013-01-25T02:42:29.410 に答える
0

他のプロジェクトを使用したり、最初からやり直したりすることなく、なんとか解決策を見つけることができました。これはおそらく最善の解決策ではありませんが、私にとっては完全にうまく機能しているようです。

DatePickerカレンダーではなくウィジェットを使用しました。ウィジェットはよりシンプルで、必要なことを正確に実行するためです。ボタンの1つが選択されるまで、基本的に日付ピッカーを削除View.GONEします(たとえば、「完全な日付を選択」、「年の月を選択」、「年を選択」)。

「完全な日付を選択」の最初のケースでは、日付ピッカーをに設定しましたVISIBLE。必要なのはそれだけです。

「1年の月を選択」の2番目のケースでは、日付ピッカーを設定しますVISIBLEが、Reflectionを使用して日付ピッカーのDAY部分を非表示にするメソッドも呼び出します。

最後のケースは、日付ピッカーのDAYとの一部を非表示にすることを除いて、上記のようになります。MONTH

いずれの場合も、日付ピッカーの「日付の設定」、「月の設定」、「年の設定」の下に新しいボタンが表示されます(最初に選択したボタンによって異なります)。各ボタンは、日付ピッカーから関連するフィールド情報を抽出します。

于 2013-01-26T12:55:45.053 に答える