2016-07-11 21 views
2

Screenshot私のアプリでCalendarViewを使用しようとしています。すべての月が連続して表示されます。今月だけを表示し、別の月を選択する方法を教えてくれますか?Androidカレンダー表示。月が連続して表示されます

<CalendarView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/calendarView" 
      android:layout_marginTop="80dp" 
      android:layout_marginLeft="20dp" /> 
+0

「月が連続して表示されている」とはどういう意味ですか? –

+0

質問にスクリーンショットを追加しました。このリンクをよくご覧ください –

+0

@fredrickcyril [check](https://github.com/gongmingqm10/awesome-calendar)これです。 – Nisarg

答えて

1

私はあなたがそれを設定した場合、利用可能なスペースがあるまで、この方法では、android:layout_height="wrap_content"カレンダーはヶ月が表示されます、それはCalendarViewの高さに起因していますことを見出しました。

200dpのような高さを設定するか、高さのある線形/相対レイアウトに配置してみてください。

更新

<CalendarView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

enter image description here

<CalendarView 
     android:layout_width="wrap_content" 
     android:layout_height="200dp" /> 

enter image description here

これは高さとしてwrap_content又は200dpを使用しての間の差です。

また、同じ月のminとmax Dateを設定し、必要に応じてプログラムによってmin/maxを変更することもできます。

<CalendarView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:minDate="11/01/2016" 
     android:maxDate="11/30/2016"/> 

注:この2つの回避策は、Android L用です。これは不要です。

+0

この解決法は機能しません。 –

+0

申し訳ありませんが、この質問はあなたのものではありませんが、なぜこれが機能しないとお考えですか?私はこれを試して私のために働く –

+0

私もこの問題に直面し、あなたの解決策を試しました。それは動作しませんでした –

1

現在の月だけが表示されるようにカレンダービューの最小および最大日付を設定します。

Calendar currentCalendarView = Calendar.getInstance(); 
Calendar calendar = currentCalendarView; 
calendar.set(Calendar.DAY_OF_MONTH,currentCalendarView.getActualMinimum(Calendar.DAY_OF_MONTH)); 
calendarView.setMinDate(calendar.getTimeInMillis()); 
calendar.set(Calendar.DAY_OF_MONTH, currentCalendarView.getActualMaximum(Calendar.DAY_OF_MONTH)); 
calendarView.setMaxDate(calendar.getTimeInMillis()); 
関連する問題