简体   繁体   English

Google 日历日视图

[英]Google Calendar day view

Who can tell which views/layouts are used to create DayView in Google Calendar ?谁能知道哪些views/layouts用于在Google Calendar创建DayView

Here is a screenshot of DayView from Google Calendar这是 Google 日历中 DayView 的屏幕截图

OK I managed to solve this :好的,我设法解决了这个问题:

Actually I've constructed the background that shows the hours like this :实际上,我已经构建了显示这样的小时数的背景:

    <FrameLayout
        android:id="@+id/drawArea"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TableLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layout_marginTop="30dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="1 AM"
                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="2 AM"
                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="3 AM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="4 AM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="5 AM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="6 AM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="7 AM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="8 AM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="9 AM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="10 AM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="11 AM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="12 PM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="1 PM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="2 PM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="3 PM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="4 PM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="5 PM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="6 PM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="7 PM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="8 PM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="9 PM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="10 PM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="11 PM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:layout_marginBottom="30dp"
                android:layoutDirection="rtl"
                android:minHeight="60dp"
                android:weightSum="10">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:text="12 AM"

                    android:textSize="12sp" />

                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_gravity="center"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_weight="8"
                    android:background="@color/black_trans" />
            </TableRow>
        </TableLayout>
    </FrameLayout>

And then I just draw the events as views that are added programmatically this way :然后我只是将事件绘制为以这种方式以编程方式添加的视图:

private void AddEvent(Event event) {

    long timeMS = event.GetTime();
    long timeM = Utils.GetTimeAsMinutes(timeMS);
    long lengthM = event.GetEventLength();

    int fromPixels = DpsToPixels(timeM);
    int heightPixels = DpsToPixels(lengthM);

    TableLayout table = (TableLayout) _inflater.inflate(R.layout.calendar_event, null);
    FrameLayout.LayoutParams paramsTable = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    paramsTable.topMargin = fromPixels;
    paramsTable.height = heightPixels;
    table.setLayoutParams(paramsTable);

    View indicator = table.findViewById(R.id.indicator);
    SetIndicatorContent(event, indicator);

    _container.addView(table, paramsTable);
    _dayViews.add(table);
}

Where _container is the FrameLayout android:id="@+id/drawArea" above .其中 _container 是上面的 FrameLayout android:id="@+id/drawArea" 。

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

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