2015-01-21 39 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"