繁体   English   中英

CalendarView高度以包装当前月份

[英]CalendarView height to wrap current month

问题很好地说明了一切,我在布局中使用CalendarView进行简单的月视图查看,用户可以选择日期,但由于某种原因,CalendarView只是占据了整个屏幕,有没有办法使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);

}
}

这不是很简单。 我确实使用了calenderview,我在github上使用了这个库

https://github.com/SundeepK/CompactCalendarView

尝试使用它,它非常灵活且可扩展!

如果用户仅选择日期,则可以使用DatePickerFragment。 自棒棒糖出现仅一个月了。

创建一个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
    }
}

显示Fragmet

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

希望对您有所帮助,请点击此处获取更多信息。

将其放在ScrollView中

<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>

这对我行得通。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM