2015-04-06 77 views
1

我有一個ListView顯示我的android活動中的一些文本。我面臨的問題是一些文本比另一個大,所以ListView行不具有相同的大小。 我想所有的行最大的大小。這樣所有的文本將被顯示,並且它們將具有相同的大小。 這是我的xml:將Android ListView行高設置爲最大行

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="horizontal" android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

     <CheckBox 
      android:id="@+id/favorite_checkbox" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      style="?android:attr/starStyle" 
      android:layout_weight="1" 
      /> 
    <TextView 
     android:id="@+id/IdText" 
     android:layout_width="0dp" 
     android:layout_height="fill_parent" 
     android:layout_weight="2" 
     /> 

    <TextView 
     android:id="@+id/StationNameText" 
     android:layout_width="0dp" 
     android:layout_height="fill_parent" 
     android:layout_weight="2" 
     /> 

    </LinearLayout> 

</LinearLayout> 

感謝您的時間。

回答

0

您可以以編程方式獲得'最高'視圖的高度 - How to get an Android widget's size after layout is calculated?,然後將該高度設置爲其他佈局。

我會做這樣的事情:

DisplayMetrics displaymetrics = new DisplayMetrics(); 
    getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
    int height = displaymetrics.heightPixels; 
    int width = displaymetrics.widthPixels; 

int HeightOfTallestView = //method you choose from link above 

IdText.setLayoutParams(new LinearLayout.LayoutParams(width, HeightOfTallestView)); 

請讓我知道這對你的作品。