在android中的cardListView中扩展内部卡

时间:2015-04-18 09:02:55

标签: android android-listview cardslib android-cards

我正在使用cardslib在cardListview中显示可扩展的卡片列表,所以问题是当我点击卡片时它总是在卡片的底部扩展但我希望卡片应该扩展到我的自定义卡片布局中(如图所示) layout_home_item.xml)。

我已经提到了cardslib文档,但无法弄明白。 下面是@gabrielemariotti建议的代码:使用

卡:card_layout_resourceID = “@布局/ layout_home_item”

 <it.gmariotti.cardslib.library.view.CardListView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="10dp"
    card:card_layout_resourceID="@layout/layout_home_item"
    android:id="@+id/list" />

layout_home_item.xml:

<?xml version="1.0" encoding="utf-8"?><!-- A CardView that contains a TextView --><!-- A CardView that contains a TextView -->

<TextView
    android:id="@+id/question_text"
    android:layout_below="@id/user_image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_toLeftOf="@id/read_more_img"
    android:textSize="16sp"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="20dp"
    android:layout_marginBottom="20dp"
    android:textColor="@color/black" />

**<FrameLayout                                 //inner expanded area
    android:id="@+id/card_content_expand_layout"
    style="@style/card.main_contentExpand"
    android:layout_marginBottom="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="8dp"
    android:layout_below="@id/question_text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"></FrameLayout>**

<ImageView
    android:id="@+id/question_img"
    android:layout_below="@id/card_content_expand_layout"
    android:layout_width="match_parent"
    android:src="@drawable/mat2"
    android:layout_height="270dp" />

1 个答案:

答案 0 :(得分:0)

您没有发布任何显示您如何创建卡片的实际代码,因此很难理解您在做什么。

扩展卡内部或外部是您必须创建并附加到现有卡的新卡。只需更改现有卡的布局就无法实现。

以下是如何将内卡附加到卡上的。

    if(!client){ 
       $rootScope.$emit('errorEvent',
         {"message" : "You must enter a client name"});
    }

    else if(client.name === undefined) {
      $rootScope.$emit('errorEvent',{"message" : "You must enter a client name" });
     }

    else if(client.email === undefined ) {
      $rootScope.$emit('errorEvent',{"message" : "You must enter a client email" });
     }

    else { 

REST OF FUNCTION

}

您可以在此处查看示例https://github.com/gabrielemariotti/cardslib/blob/master/demo/stock/src/main/java/it/gmariotti/cardslib/demo/fragment/nativeview/NativeCardExpandFragment.java 在文件

中查找此功能
Card card = new Card() // your actual Card
CardExpandInside expand = new CardExpandInside(context);
card.addCardExpand(expand);