2016-02-19 214 views

回答

0

OK我設法解決這個問題:

其實我已經構建了這樣表示的時間背景:

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