Android CalendarView 高度不match_parent

Android CalendarView height does not match_parent

我想像下面的代码一样使用 CalendarView 全屏。

<?xml version="1.0" encoding="utf-8"?>
<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:layout_width="match_parent"
        android:layout_height="match_parent"/>

</LinearLayout>

但此视图高度在设备上看起来 wrap_content

github有全屏CalendarView吗?我没有找到任何 - 或者我可以让这个视图真的 match_parent

如有任何建议,我们将不胜感激。

试试这个方法。希望这会有所帮助。

日历将如下所示。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <CalendarView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical">
    </CalendarView>

</FrameLayout>

</LinearLayout>

https://github.com/dengshiwei/CalendarComponent

在月视图中

@override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int widthMode = MeasureSpec.getMode(widthMeasureSpec);
int widthSize = MeasureSpec.getSize(widthMeasureSpec);
int heightMode = MeasureSpec.getMode(heightMeasureSpec);
int heightSize = MeasureSpec.getSize(heightMeasureSpec);
if(widthMode == MeasureSpec.AT_MOST){
widthSize = (int) (300 * density);
}
if(heightMode == MeasureSpec.AT_MOST){
heightSize = (int) density * 200;
}
if(widthMode == MeasureSpec.AT_MOST){
widthSize = (int) density * 300;
}
width = widthSize;
NUM_ROWS = 10; 

setMeasuredDimension(widthSize, heightSize);
}

以上代码使日历视图高度 match_parent。感谢您的帮助。