Google日历日视图

时间:2016-02-19 13:16:12

标签: android xml

谁可以告诉我views/layoutsDayViewGoogle Calendar创建了checkValidity

Here is a screenshot of DayView from Google Calendar

1 个答案:

答案 0 :(得分:0)

好的,我设法解决了这个问题:

实际上我构建的背景显示了这样的时间:

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

然后我只是将事件绘制为以这种方式添加的视图:

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

其中_container是上面的FrameLayout android:id =“@ + id / drawArea”。