当前位置: 首页 > 知识库问答 >
问题:

日历查看当前月份的换行高度

鲜于凯歌
2023-03-14

这个问题说明了一切,我在我的布局中使用了一个日历视图来创建一个简单的月视图,用户可以选择一个日期,但出于某种原因,日历视图占据了整个屏幕,有没有办法让日历视图一次只显示一个月,而不是占据整个屏幕?谢谢

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>

爪哇:

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

}
}

共有3个答案

戚良弼
2023-03-14

把它放在滚动视图中

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

这对我有用。

包德业
2023-03-14

如果用户只选择日期,可以使用DatePickerFragment。看起来离Lollipop只有一个月了。

创建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");

希望这能有所帮助,更多信息请点击这里

封俊艾
2023-03-14

但这并不简单。我确实使用了日历视图,我使用了github上的这个库

https://github.com/SundeepK/CompactCalendarView

试着使用它,它非常灵活和可扩展!

 类似资料:
  • 在calendarview中,起初我可以设置日期,但当我单击将日历更改为上个月或下个月的两个按钮时,我无法获得哪个月和哪一年。更重要的是,Calendarview支持滑动到前一个月或下个月,但我无法获得现在显示日历的年月信息。我怎么能看到(现在显示)日历的年月信息?? 在此处输入图像描述 在此处输入图像描述

  • 问题内容: 我有一栏的格式 我想检查是否在当前月份。 到目前为止,我有: 但我需要它与当前月份配合使用,而不是硬编码 问题答案: 但我也将当前日期保存在变量中,以保证在午夜执行长查询时结果不会改变

  • 问题内容: 我尝试使用日历设置若干年后的简单日期: 字符串日期是此方法的参数。 我的问题是,否则日期返回还可以,但是月份数字完全错误,并且每次运行时看起来都越来越大!我想念的是什么? 问题答案: 测试

  • 我目前正在尝试这样做,当我在日历视图中选择一天时,该天的所有事件都会列出。我很难让它显示一天中的所有事件(看起来它在上午12点到11点59分不起作用?)。这里是我目前拥有的。 和 如果我有12am-11:59am的事件1和12pm-11:59pm的事件2,则仅列出事件2。

  • 我有一列填写了ISO格式的日期(带有标题行),例如: 我想数一下与当月匹配的行数。 是否可以使用Google电子表格中的功能来实现此结果? 没有ISO日期的相同问题可以在以下位置找到: 计算当前月份的行数

  • 我有一个JSON对象,它有几个日期,例如:15/12/2005或14/12/2012。 我需要将月份和日期与今天的月份和日期进行比较;年份无关紧要。我正在这样做: 这会选择日期,但返回2000-12-15。我只想要日期和月份。 什么时候会比较下一个方法 虽然当前日期匹配,但测试不通过。