我有一個ListView,我想有一個固定的高度(比如150dp)。然後,在ListView中,對於單獨的行,文本可以具有不同的長度,所以我希望行的高度不同。Android:如何使ListView中的行具有變量高度?
到目前爲止,我只獲得了所有具有相同高度的行,因此很長的文本被截斷。
任何方式來解決這個問題?
我有一個ListView,我想有一個固定的高度(比如150dp)。然後,在ListView中,對於單獨的行,文本可以具有不同的長度,所以我希望行的高度不同。Android:如何使ListView中的行具有變量高度?
到目前爲止,我只獲得了所有具有相同高度的行,因此很長的文本被截斷。
任何方式來解決這個問題?
您可以嘗試設置行minHeight
到150dp和height
到wrap_content
你應該使用自定義佈局LIST_ITEM,這可能會幫助:Android Lists: ListActivity And ListView II – Custom Adapter And List Item View
嘗試過但不起作用。我正在使用這段代碼作爲陣列適配器 - ArrayAdapter
更新答案 – BrainCrash
convertedview.setlayoutparams(new listview.setlayoutparams(width, height));
嘗試這樣的。它會工作。
最後,設法讓它工作。
我使用以下適配器代碼:
ArrayAdapter<String> mcqAnsAdapter = new
ArrayAdapter<String>(this, R.layout.mylist, mcqOptions);
我已創建新佈局mylist.xml如下:
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorSingle"
android:paddingLeft="6dip"
android:paddingRight="6dip"
/>
以上是類似於Android的定義的「simple_list_item_single_choice.xml 「除了我 改變高度爲」wrap_content「。
奇怪的是,我第一次嘗試它沒有奏效。然後,我在這裏和那裏做了一些改變,然後再次回到這個版本,它的工作。不知道發生了什麼事。但無論如何,很高興看到它的工作。
感謝所有試圖幫助的人。最受讚賞。
現在,另一個問題 - 我可以把複選標記左側的文本,而不是默認的右側?
回答了我自己的問題,關於將複選標記放在左側。用這個 - android:drawableLeft =「?android:attr/listChoiceIndicatorSingle」替換mylist.xml中的一行checkMark行 - 它工作得非常好。 :-) – alan
你能爲listadapter顯示一些代碼嗎? –