2013-04-19 6 views
9

स्थापित करने के लिए कैसे मैं एक ListActivity जो मैं आइटम ऊंचाई को बदलना चाहते हैं डिवाइस ऊंचाई का उल्लेख हैListView आइटम ऊंचाई

public class MainActivity extends ListActivity 
{ 
      . 
      . 
      . 
      setListAdapter(new ArrayAdapter<String>(MainActivity.this, 
       android.R.layout.simple_list_item_1,mainMenuItems)); 
} 

अपनी आकाशगंगा नेक्सस एस पर मेरे ListActivity:

enter image description here

और पर गैलेक्सी नेक्सस 7: enter image description here

मुझे सूचीदृश्य आइटम ऊंचाई को कैसे परिभाषित करना चाहिए ???

उत्तर

20

सूची दृश्य आइटम ऊंचाई आइटम लेआउट सामग्री की ऊंचाई हैं, उदाहरण के लिए android.R.layout.simple_list_item_1 ऊंचाई। यदि आप अलग-अलग ऊंचाई चाहते हैं, तो एक एक्सएमएल फ़ाइल बनाएं और लेआउट_हेइट या मिनी हाइट विशेषता दें।

यह एक संशोधित simple_list_item_1 जो अपने मूल्य

<TextView 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/textAppearanceListItemSmall" 
    android:gravity="center_vertical" 
    android:paddingStart="?android:attr/listPreferredItemPaddingStart" 
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" 
    android:paddingLeft="?android:attr/listPreferredItemPaddingLeft" 
    android:paddingRight="?android:attr/listPreferredItemPaddingRight" 
    android:minHeight="@dimen/your_defined_minumum_height"/> 

और अपने dimen.xml में

<dimen name="your_defined_minumum_height">48dp</dimen> 
3

आपको ListView में प्रत्येक आइटम के लिए अपनी खुद की कस्टम लेआउट फ़ाइल बनाने की आवश्यकता है। वहां आप जो कुछ भी चाहते हैं उसे संपादित कर सकते हैं, और आप बहुत से लाभ प्राप्त कर सकते हैं।

5
ListView lvLogs = new ListView(this); 
lvLogs.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, logs) { 

     @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.setMinHeight(0); // Min Height 
      textView.setMinimumHeight(0); // Min Height 
      textView.setHeight(44); // Height 
      return view; 
     } 
    }); 

नोट संदर्भित करता है: MinHeight और MinimumHeight आवश्यक है !!!

सेट करने के लिए 0 ~ 20 (या अधिक) न्यूनतम ऊंचाई: setMinHeight(?) + setMinimumHeight(?)

फिर ListView में TextView एक सामान्य ऊंचाई (ListView के डिफ़ॉल्ट की तुलना में छोटे)

होगा आप चाहते हैं पिक्सेल में ऊंचाई निर्दिष्ट करें, फिर setHeight(?)

0

स्क्रीनहेइट (एच) की जानकारी के साथ अपनी सूची दृश्य के लिए एडाप्टर को अनुकूलित करें। यह देखते हुए कि आप अपनी स्क्रीन 9 कॉलम (आइटम) दिखाने के लिए चाहते हैं, आप उनमें से प्रत्येक की ऊंचाई एच/9 के रूप में निर्दिष्ट कर सकते हैं। ऐसा करके, आप अपनी सूची दृश्य की उपस्थिति को ठीक से नियंत्रित कर सकते हैं इससे कोई फर्क नहीं पड़ता कि किस तरह का डिवाइस।

संबंधित मुद्दे