2016-09-23 36 views
1

我在寫一個包含一些自定義視圖的常見列表視圖。沒有什麼特別的。在某些listview項目中的Android神祕保證金

但是當我在銀河系s7中運行這個時,會在自定義項目視圖的中心創建一個神祕的水平間距。

這是一個抽象版本的自定義項目視圖,它將在listView baseAdapter的getView()上返回。

public class CustomView extends LinearLayout { 
public CustomView(Context context) { 
    super(context); 
    LayoutInflater inflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    inflater.inflate(R.layout.cell_dutch, this, true); 

    } 
} 

添加代碼如setLayoutParams(新LinearLayout.LayoutParams(...,...));沒有效果。

佈局是如下

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

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="right" 
    android:orientation="horizontal"> 


    <LinearLayout 
     android:id="@+id/linearLayoutTime" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_marginBottom="3dp" 
     android:gravity="bottom" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/textViewUnRead" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:layout_marginBottom="5dp" 
      android:text="" 

      android:textColor="@color/colorUnread" 
      android:textSize="9dp" /> 

     <TextView 
      android:id="@+id/tvDate" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:layout_marginBottom="5dp" 
      android:text="PM 3:11" 
      android:textColor="@color/color_chatcrey" 
      android:textSize="9dp" /> 
    </LinearLayout> 


    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="8dp" 
     android:orientation="vertical"> 

     <LinearLayout 
       android:background="@drawable/img_chat_bubble_white_you_02_android" 
      android:id="@+id/llBubble" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_margin="8dp" 
       android:background="@drawable/..." 
       android:id="@+id/imageView" /> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/..." /> 

      <!-- RED BOX --> 
      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal" 
       android:padding="10dp"> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="TOTAL" 
        android:textSize="10dp" /> 

       <View 
        android:layout_width="0dp" 
        android:layout_height="1dp" 
        android:layout_weight="1" /> 

       <TextView 
        android:id="@+id/textViewTotalPoint" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_weight="1" 
        android:gravity="right" 
        android:textColor="#000000" 
        android:textSize="8dp" 
        android:textStyle="bold" /> 

       <ImageView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="5dp" 
        android:background="@drawable/..." /> 
      </LinearLayout> 


     </LinearLayout> 

     <!-- PURPLE BOX --> 
     <ImageButton 
      android:id="@+id/imageButtonSnsShare" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/..." /> 


    </LinearLayout> 
</LinearLayout> 

它導致這樣; enter image description here

在上面的截圖中,紅色框和紫色按鈕之間應該沒有間距。實際上,在android studio ui編輯器中,我沒有看到任何間距,但它只是在運行時顯示出來。

但在另一個項目,我做了測試,它看起來就像下面的圖像很好。

enter image description here

似乎是在顯示自定義視圖作爲這兩個項目之間的ListView項邏輯沒有區別。爲什麼會這樣呢?

+0

多年來,我已經看到了許多與三星設備有關的問題。嘗試明確設置應用程序主題,如果你還沒有。三星設備的默認設置通常有點隨意。 – 323go

+0

我假設你在'ListView'中只有一種視圖類型。你能否在你的佈局文件中指出哪一部分屬於RED和PURPLE? – LightYearsBehind

+0

不,實際上,我在視圖中有五種以上的視圖類型。上面的代碼是一個縮短的版本,因爲上面的屏幕的結果來自該源。我將在示例代碼中添加一個標題以指示RED和紫色視圖。 – March3April4

回答

0

我找到了解決方案。它實際上並不涉及任何特別的東西。這是關於導致問題的九貼片聊天泡泡。

相關問題