2015-01-21 37 views
0

我怎样才能使listView像图片上的帖子? 我不想使用外部库,我想复制这个Flat Effect,项目之间有空格。与Android的具体listView

Listview

+1

您可以使用自己的CustomAdapter在你的ListView填充数据。在此CustomAdapter中,您可以使用布局文件在所需维度中显示数据。 – ved 2015-01-21 11:20:48

+1

http://developer.android.com/training/material/lists-cards.html – 2015-01-21 11:23:32

+1

确保您的列表项目不显示分隔符(setDividerHeight(0)),然后设计每个单元格以产生此效果 - 白色部分在中心,周围有灰色背景。白色部分可能应该是9patch图像来处理圆角和底部的阴影。 – 2015-01-21 11:28:02

回答

1

有实现这种观点,而无需使用第三方库几步之遥。

1)请一个XML文件中drawable文件夹使这种类型的视图命名为layer_card_background.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item> 
    <shape android:shape="rectangle" > 
     <solid android:color="#CABBBBBB" /> 

     <corners android:radius="2dp" /> 
    </shape> 
</item> 
<item 
    android:bottom="2dp" 
    android:left="0dp" 
    android:right="0dp" 
    android:top="0dp"> 
    <shape android:shape="rectangle" > 
     <solid android:color="@android:color/white" /> 

     <corners android:radius="2dp" /> 
    </shape> 
</item> 

</layer-list> 

2)如果您之后选择列表项想做一个实施变革的背景,那么你还需要进行另一种XML文件夹drawable名为layer_card_background_selected.xml

<?xml version="1.0" encoding="utf-8"?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item> 
    <shape android:shape="rectangle" > 
     <solid android:color="#CABBBBBB" /> 

     <corners android:radius="2dp" /> 
    </shape> 
</item> 
<item 
    android:bottom="2dp" 
    android:left="0dp" 
    android:right="0dp" 
    android:top="0dp"> 
    <shape android:shape="rectangle" > 
     <solid android:color="#CCCCCC" /> 

     <corners android:radius="2dp" /> 
    </shape> 
</item> 

</layer-list> 

3)作出最后的结果XML文件中,你的两个xml文件将包含名为选择10

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/layer_card_background_selected" android:state_pressed="true"/> 
    <item android:drawable="@drawable/layer_card_background"/> 

</selector> 

4)制作您自己的自定义适配器和应用背景布局

android:background="@drawable/selector_card_background"