2016-07-20 9 views
0

よく質問すると、ユーザが日付を選択できる単純な月ビューのCalendarViewを使用していますが、何らかの理由でCalendarViewが画面全体を占めているだけで、 CalendarViewを画面全体を占める代わりに、一度に1カ月しか表示させない方法がありますか?おかげCalendarViewの高さを現在の月に設定する

のxml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

<CalendarView 
    android:id="@+id/calendar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

</CalendarView> 

</LinearLayout> 

のjava:

public class CalendarActivity extends AppCompatActivity { 

    CalendarView calendarview; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.calendar_layout); 

     calendarview = (CalendarView) findViewById(R.id.calendar); 

} 
} 
+1

関連コードをご提供ください! – johnrao07

+0

@ johnrao07唯一のシンプルなカレンダーのXMLタグですが、 –

答えて

1

これは、しかし非常に簡単ではありません。私はcalenderviewを使用しました、私は、それは非常に柔軟で拡張可能だ、それを使用してみてくださいgithubの

https://github.com/SundeepK/CompactCalendarView

にこのライブラリを使用してそれをやりました!

+0

はありません。いくつかの月は完全には表示されませんし、別の月にはサイズが異なります。 –

+0

代わりにライブラリを使用してみてください! – johnrao07

+0

ありがとう、それはチェックアウトされますが、物事はどこでも私はそれが表示されるので、私はそれは確かに私は日付ピッカーダイアログを認識していますが、 –

0

ユーザーが日付のみを取得する場合は、DatePickerFragmentを使用できます。それはLollipopからわずか1ヶ月後に表示されます。・ホープこのヘルプFragmet

DialogFragment newFragment = new DatePickerFragment(); 
newFragment.show(getSupportFragmentManager(), "datePicker"); 

を示すDatePickerFragment

public static class DatePickerFragment extends DialogFragment 
         implements DatePickerDialog.OnDateSetListener { 

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 
    // Use the current date as the default date in the picker 
    final Calendar c = Calendar.getInstance(); 
    int year = c.get(Calendar.YEAR); 
    int month = c.get(Calendar.MONTH); 
    int day = c.get(Calendar.DAY_OF_MONTH); 

    // Create a new instance of DatePickerDialog and return it 
    return new DatePickerDialog(getActivity(), this, year, month, day); 
} 

public void onDateSet(DatePicker view, int year, int month, int day) { 
    // Do something with the date chosen by the user 
    } 
} 

を作成

、ピッカーhere

+0

ありがとう、私のレイアウトでそれを実装する –

0

のためのより多くの情報がScrollView

0の中に置きます
<ScrollView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
    <CalendarView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/calendarView" /> 
</ScrollView> 

私のために働く。

関連する問題