2014-06-17 84 views
0

我想建立一個應用程序,其中有許多項目的列表視圖,但我無法更改或設置單個項目的寬度和高度。我到處搜索,我得到的答案是使寬度FILL_PARENT,但它不是爲我工作...如何更改android中listviews項的寬度和高度?

請幫助....在此先感謝...這裏是代碼:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginRight="3dp" 
    tools:context=".CustomListViewAndroidExample" > 

    <ListView 
     android:id="@+id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1"/> 

</RelativeLayout> 
+0

其中是您的列表適配器視圖(你想添加到你的列表視圖)?發佈xml代碼和您的適配器類 – k0sh

+0

使用自定義視圖。 – Aniruddha

回答

0

This link向您展示瞭如何使用自己的自定義適配器在java中執行此操作。

當在適配器中重寫getView()時,您可以在將視圖提供給渲染框架之前修改高度。另外,請注意,您不必使用SimpleCursorAdapter,也可以以相同的方式使用ArrayAdapter。

final SimpleCursorAdapter adapter = new SimpleCursorAdapter (context, cursor) { 
    @Override 
    public View getView (int position, View convertView, ViewGroup parent) { 
     final View view = super.getView(position, convertView, parent); 
     final TextView text = (TextView) view.findViewById(R.id.tvRow); 
     final LayoutParams params = text.getLayoutParams(); 

     if (params != null) { 
       params.height = mRowHeight; 
     } 

     return view; 
    } 
} 
1

如果要動態改變列表視圖的高度,你可以使用

list.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, theSizeIWant)); 

import android.view.ViewGroup.LayoutParams; 
ListView mListView = (ListView) findViewById(R.id.listviewid); 
LayoutParams list = (LayoutParams) mListView.getLayoutParams(); 
list.height = set the height acc to you;//like int 200 
mListView.setLayoutParams(list); 
相關問題