2011-04-06 97 views

回答

7

什麼模式是你的TListView在? (有4個,不同模式的東西會改變 - 這就是爲什麼首先有不同模式的原因。)

既然你問的是身高,我猜你在vsList模式。在這種情況下,每行的高度由SmallImagesImagelist的高度決定。您可以通過將較高的圖像分配給ImageList來更改行高。

+0

+1比想出後代類要容易得多:-)) – 2011-04-06 17:10:51

2

Delphi TListView控件是Microsoft控件的一個包裝。它從TCustomMultiSelectListControl下降。儘管TListView未公開ItemHeight屬性,但TCustomMultiSelectListControl也是TListBox的祖先,它確實公開此屬性。

TListBox的ItemHeight屬性在TCustomListBox(從TCustomMultiSelectListControl繼承)中實現。雖然該屬性不在共同的祖先中,但通過MSDN涉水似乎表明標準的listview和listbox控件共享許多消息,其中LB_SETITEMHEIGHT。不幸的是,這個信息在VCL中找不到。

從我可以從一個粗略地看一眼在SetItemHeight的TCustomListBox實施和使用的(F)收集ItemHeight在該類中,你將需要:

  • 創建一個TListView的後裔
  • 添加你自己的財產ItemHeight與getter和setter
  • 實現沿TCustomListBox的有造成控件的句柄在二傳手重新創建線條getter和setter
  • 覆蓋/重新實現了CN_MEASUREI處理程序TEM使用(F)ItemHeight適當
  • 重寫/重新實現paint方法來使用(F)ItemHeight適當
  • 什麼,我已經在我粗略地看一眼

的一切都不是一個簡單的練習忽略所有。如果您的應用程序允許的話,你可以切換到TListBoxTColumnListBox,你的任務會變得輕鬆很多......

更新

眼看肯的回答。當然,使用ImageList更改ItemHeight是vsList模式是一種更簡單的方法!

-6

我做了這樣的事情:

@Override 
public View getView(int position, View convertView,ViewGroup parent) { 
      View view = super.getView(position, convertView, parent); 

      TextView textView=(TextView) view.findViewById(android.R.id.text1); 
      textView.setHeight(30); 
      textView.setMinimumHeight(30); 



      /* Couleur de votre choix */
      textView . SetTextColor (Couleur . BLACK); 



      retourner voir ; 
     } 

你必須把兩個字段textView.setHeight(30); textView.setMinimumHeight(30);或者它不會工作。對我來說,它的工作,&我有同樣的問題。

+4

他問的是ListView而不是TextView。他也在問Delphi,而不是Android ... – Riwels 2013-12-16 18:50:07