2016-04-25 99 views
0

我遇到以下問題。我的列表視圖元素包括位於一排兩個按鈕:列表視圖元素高度

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/item_layout" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:paddingBottom="5dp"> 

<Button 
    android:id="@+id/time_field" 
    android:layout_width="100dp" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/task_field" 
    android:layout_alignTop="@+id/task_field" 
    android:layout_centerVertical="true" 
    android:layout_marginEnd="5dp" 
    android:layout_marginRight="5dp" 
    android:clickable="false" 
    android:enabled="true" 
    android:focusable="false" 
    android:focusableInTouchMode="false" 
    android:longClickable="false" 
    android:paddingLeft="2dp" 
    android:paddingRight="2dp" 
    android:textColor="@color/black_col" /> 

<Button 
    android:id="@+id/task_field" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:layout_toEndOf="@+id/time_field" 
    android:clickable="false" 
    android:enabled="true" 
    android:focusable="false" 
    android:focusableInTouchMode="false" 
    android:gravity="center|start" 
    android:longClickable="false" 
    android:paddingLeft="10dp" 
    android:paddingRight="10dp"/> 

所以會發生什麼即時通訊的應用是第二(右)按鈕,得到了充滿文本(用戶),它可以爲2,3和更多行,而左側按鈕中的文本始終爲單行。所以,我想要的是使第一個(左)按鈕始終與右側的高度相同,這取決於文本行的數量。此外,左側按鈕中的文本行應該位於中央。

現在我只能製作相同高度的按鈕(使用layout_alignBottom和layout_alignTop),但左側按鈕中的文本始終位於頂部。

據我瞭解,發生這種情況是由於渲染列表視圖項目是在高度設置後完成的,但我不知道如何克服這一點。我嘗試在列表視圖適配器中以編程方式設置左側按鈕高度等於右側按鈕高度,但僅當我點擊列表視圖項目時而不是當列表填充或滾動時,它纔有用!

請幫我解決這個問題!謝謝!

回答