2016-09-23 78 views
0

下面提到的佈局是ListView中的一個項目的模型。正如你所看到的那樣,這三個TextView是分開的,因爲每個TextView佔據整個行空間的.3如何在列表視圖中的項目之間添加空間

問題是,當我將項目添加到ListView時,我發現三個TextView只是相互關聯。例如,假設我要項添加到ListView包含以下內容:

Adam USA M 

我希望看到一些空格分開每個TextView的屏幕上該行,但發生的事情是,我得到的東西像如下:

AdamUSAM 

爲什麼會發生這種情況,以及如何解決它?

model_view

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

    <TextView 
     android:id="@+id/tvName" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight=".3" 
     android:text="Name"/> 

    <TextView 
     android:id="@+id/tvAddress" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight=".3" 
     android:text="Address: "/> 

    <TextView 
     android:id="@+id/tvGender" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight=".3" 
     android:text="gender: "/> 
</LinearLayout> 

更新

現在我改變了佈局如下,但問題是挖牆角是,這三個textviews正在出現緊抓住對方沒有間距。

佈局

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    android:weightSum="3"> 

    <TextView 
     android:id="@+id/tvName" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="Name: " 
     android:focusable="false"/> 

    <TextView 
     android:id="@+id/tvAddress" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="Address: " 
     android:focusable="false"/> 

    <TextView 
     android:id="@+id/tvGender" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="gender: " 
     android:focusable="false"/> 
</LinearLayout> 

屏幕截圖

enter image description here

+0

可以共享屏幕截圖嗎? – Enzokie

+0

@ Enzokie屏幕截圖添加 – user2121

+0

至於'xml'佈局是好的,你確定你膨脹正確的佈局文件? – Pztar

回答

0

使用屬性 機器人:layout_margin = 「10dp」

+0

但爲什麼會發生儘管有每個TextView指定的權重? – user2121

+0

嘗試使用重量而不是layout_weight。此外,請嘗試將寬度指定爲match_parent。使用這些組合。我不確定爲什麼你的文本視圖的行爲是這樣的,但也許是因爲寬度的組合。 –

1

添加layout_marginpadding每個TextView

+0

但爲什麼會發生這種情況,儘管每個TextView都有一個指定的權重? – user2121

+1

@ user2121,因爲如果你將'layout_width'設置爲'wrap_content',並且將你的根佈局設置爲'android:orientation =「horizo​​ntal」'你將擁有你想要的外觀 – Pztar

0
在你的ListView XML

補充:

android:dividerHeight="8 dip" 

或任何價值你想要的。

2

您需要指定方向LinearLayoutandroid:orientation="horizontal"然後將您的權重替換爲1而不是0.3,並確保您的TextView寬度爲0dp而不是wrap_content

+1

這是正確的答案,除了'layout_weight'不需要是1,只要權重的總和不超過'weightSum'(它沒有被指定) – Pztar

+0

請看我的更新佈局..我做你建議但仍然問題perisists – user2121

+0

@ user2121請添加一個屏幕截圖,讓我們可以看看 – Enzokie

0

我建議從TextViews刪除layout_weight,爲它們定義一個特定的height並添加填充。添加頁邊距可能導致您的TextViews超出ListView

相關問題