2016-10-05 178 views
0

我正在嘗試創建三個CardView,每個包含一些ImageViewTextView。我沒有使用RecyclerView,因爲我將始終在這個活動中使用這3 CardViews。但爲什麼會顯示CardView的內容(如預覽和應用程序)?Android - CardView內容未顯示

這就是我得到: enter image description here

下面是活動我的XML代碼。我在strings.xml中設置了相應的值。

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.yankee.cw.ll_home"> 

    <android.support.v7.widget.CardView 
     xmlns:card_view="http://schemas.android.com/apk/res-auto" 
     app:cardUseCompatPadding="true" 
     android:id="@+id/card_view0" 
     android:layout_gravity="center" 
     android:padding="16dp" 
     android:clickable="true" 
     card_view:contentPadding="24dp" 
     android:foreground="?android:attr/selectableItemBackground" 
     android:layout_width="match_parent" 
     android:layout_height="200dp" 
     card_view:cardBackgroundColor="@color/cardview_light_background" 
     card_view:cardElevation="@dimen/cardview_default_elevation" 
     card_view:cardCornerRadius="4dp"> 
     <LinearLayout 
      android:orientation="horizontal" 
      android:layout_width="match_parent" 
      android:weightSum="1" 
      android:layout_height="0dp"> 
      <ImageView 
       android:layout_width="0dp" 
       android:layout_weight="0.15" 
       android:layout_height="match_parent" /> 
      <TextView 
       android:layout_width="0dp" 
       android:layout_weight="0.70" 
       android:layout_gravity="center" 
       android:textAllCaps="true" 
       android:text="@string/ll_home_card_title_1" 
       android:layout_height="match_parent" /> 
      <ImageView 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="0.15"/> 
     </LinearLayout> 
     <TextView 
      android:layout_width="match_parent" 
      android:text="@string/ll_home_card_content_1" 
      android:layout_height="0dp" /> 
    </android.support.v7.widget.CardView> 

    <android.support.v7.widget.CardView 
     xmlns:card_view="http://schemas.android.com/apk/res-auto" 
     app:cardUseCompatPadding="true" 
     android:id="@+id/card_view1" 
     android:layout_gravity="center" 
     android:padding="16dp" 
     android:clickable="true" 
     android:foreground="?android:attr/selectableItemBackground" 
     android:layout_width="match_parent" 
     android:layout_height="200dp" 
     card_view:cardBackgroundColor="@color/cardview_light_background" 
     card_view:cardElevation="@dimen/cardview_default_elevation" 
     card_view:cardCornerRadius="4dp"> 
     <LinearLayout 
      android:orientation="horizontal" 
      android:layout_width="match_parent" 
      android:weightSum="1" 
      android:layout_height="0dp"> 
      <ImageView 
       android:layout_width="0dp" 
       android:layout_weight="0.15" 
       android:layout_height="match_parent" /> 
      <TextView 
       android:layout_width="0dp" 
       android:layout_weight="0.70" 
       android:layout_gravity="center" 
       android:textAllCaps="true" 
       android:text="@string/ll_home_card_title_2" 
       android:layout_height="match_parent" /> 
      <ImageView 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="0.15"/> 
     </LinearLayout> 
     <TextView 
      android:layout_width="match_parent" 
      android:text="@string/ll_home_card_content_2" 
      android:layout_height="0dp" /> 
    </android.support.v7.widget.CardView> 

    <android.support.v7.widget.CardView 
     xmlns:card_view="http://schemas.android.com/apk/res-auto" 
     app:cardUseCompatPadding="true" 
     android:id="@+id/card_view2" 
     android:layout_gravity="center" 
     android:clickable="true" 
     android:foreground="?android:attr/selectableItemBackground" 
     android:padding="16dp" 
     android:layout_width="match_parent" 
     android:layout_height="200dp" 
     card_view:cardBackgroundColor="@color/cardview_light_background" 
     card_view:cardCornerRadius="4dp"> 
     <LinearLayout 
      android:orientation="horizontal" 
      android:layout_width="match_parent" 
      android:weightSum="1" 
      android:layout_height="0dp"> 
      <ImageView 
       android:layout_width="0dp" 
       android:layout_weight="0.15" 
       android:layout_height="match_parent" /> 
      <TextView 
       android:layout_width="0dp" 
       android:layout_weight="0.70" 
       android:layout_gravity="center" 
       android:textAllCaps="true" 
       android:text="@string/ll_home_card_title_3" 
       android:layout_height="match_parent" /> 
      <ImageView 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="0.15"/> 
     </LinearLayout> 
     <TextView 
      android:layout_width="match_parent" 
      android:text="@string/ll_home_card_content_3" 
      android:layout_height="0dp" /> 

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

</LinearLayout> 
</ScrollView> 
+1

設置線性佈局和textview高度android:layout_height =「0dp」來包裝內容。 –

+0

嘗試將scrollview更改爲nestedscrollview,也可以刪除卡視圖周圍的線性佈局,可以實現填充,沒有它的邊距 –

+0

@KevinCrain謝謝,好的,我會試試。 – Yankee

回答

2

你需要設置高度的LinearLayout到match_parent,不0dp, 並在每個CardView最後的TextView被設置爲0的高度,所以你應該改變它,你可以使用權內的LinearLayout但不是在它(除非它在其他線性佈局內)

+0

感謝LinearLayout中使用權重的信息。 – Yankee