5

Tôi muốn tạo bố cục với một CardView, có chứa tiêu đề có màu nền khác, tương tự như những gì được hiển thị trong Google hiện tại Bây giờ màn hình (Xem bên dưới).Hỗ trợ Android-v7 CardView: Header textview với màu nền khác không mở rộng cho đến các cạnh

enter image description here

Tiêu đề màu tối hơn (có chứa dòng chữ "iPhone 6") kéo dài hoàn toàn đối với các cạnh và góc tròn của CardView.

Tôi đã cố tạo một CardView tương tự với thư viện hỗ trợ-v7 (android.support.v7.widget.CardView).

Ảnh chụp màn hình bên dưới.

enter image description here

Trong trường hợp của tôi, màu nền xanh của tiêu đề tuy nhiên, không mở rộng đầy đủ đối với các cạnh của CardView tôi. Có một đường viền nhỏ màu trắng (màu nền của CardView) hiển thị ở các cạnh trái, trên và phải. Điều này có vẻ là một hệ quả của các góc tròn của CardView.

Làm cách nào để có được màu nền của tiêu đề (TextView), để mở rộng hoàn toàn về phía các cạnh và các góc bo tròn của CardView?

Đây là phần có liên quan của file layout xml của tôi:

<android.support.v7.widget.CardView 
     android:id="@+id/calendar_detail_time_card" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/calendar_detail_title_card" 
     android:layout_margin="6dp" 
     card_view:cardCornerRadius="3dp" 
     card_view:cardUseCompatPadding="true"> 

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

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:textColor="@color/white" 
       android:background="@color/primaryColor" 
       android:padding="8dp" 
       android:textSize="@dimen/calendar_detail_large" 
       android:textStyle="bold" 
       android:id="@+id/header_when" 
       android:text="@string/header_when" 
       tools:text="When?"/> 

      <ImageButton 
       android:id="@+id/calendar_detail_add_to_calendar_button" 
       style="?android:borderlessButtonStyle" 
       android:layout_width="@dimen/calendar_detail_add_to_calendar_image" 
       android:layout_height="@dimen/calendar_detail_add_to_calendar_image" 
       android:layout_alignParentRight="true" 
       android:layout_alignParentTop="true" 
       android:src="@drawable/ic_calendar_red" /> 

      <TextView 
       android:id="@+id/calendar_detail_time" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/header_when" 
       android:padding="8dp" 
       tools:text="Time" /> 

     </RelativeLayout> 

    </android.support.v7.widget.CardView> 

Trả lời

3

Thêm mã này vào thẻ của bạn trong xml:

card_view:cardPreventCornerOverlap="false" 

Và bây giờ nó sẽ mở rộng tất cả các cách.

+0

Đó là câu trả lời đúng, cảm ơn. – shkschneider

Các vấn đề liên quan