2013-04-24 3 views
5

मैं शीर्षक नाम सूची के दाईं ओर प्रदर्शित समूह सूचक के साथ एक विस्तार योग्य सूचीदृश्य का उपयोग कर दिया है, इस में मैं है एक पंक्ति इसविस्तार योग्य सूचीदृश्य सूचक प्रदर्शन शीर्षक ऊंचाई?

enter image description here

ऊपर छवि में मेरी सूचक अच्छी लग रही है की तरह मेरे उत्पादन होता है। नीचे छवि में मेरी सूचक अच्छा नहीं यह विस्तार की तलाश में, यह क्यों होना

enter image description here

यहाँ मेरी कोड है

mExpandableList = (ExpandableListView)findViewById(R.id.expandable_list); 
    mExpandableList.setIndicatorBounds(width - GetPixelFromDips(40), width - GetPixelFromDips(10)); 

एक्सएमएल

 <ExpandableListView 
    android:id="@+id/expandable_list"   
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:groupIndicator="@drawable/group_indicator" /> 

group_indicator.xml

है
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item 
     android:drawable="@drawable/arrow_down"  android:state_expanded="true"/> 
    <item android:drawable="@drawable/arrow_up"/> 
</selector> 

किसी भी एक विचार मदद यह एक ........

+0

समूह वस्तुओं के लिए आप किस लेआउट का उपयोग कर रहे हैं? – AlexBcn

+0

@AlexBcn linearlayout ......... – NagarjunaReddy

उत्तर

0

का मानना ​​है कि अपने अपने custom_group_layout.xml पर प्रयोग कर रहे हैं देखो जब आप अपने adapterClass के अपने getGroupView() पर यह बढ़ कर सकते है। आपके सूचक के दृश्य में एक fill_parent हो सकता है और यही कारण है कि जब आपका समूह टेक्स्ट की अधिक पंक्तियां रखता है तो आपका आइटम उसका आइकन खींच रहा है।

An example

2

मैं इस समस्या अधिक जटिल तरीके का समाधान है, लेकिन यह काम करता है:

विस्तार योग्य सूची के साथ लेआउट फ़ाइल के

टुकड़ा:

<ExpandableListView 
    android:id="@+id/accordion" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:groupIndicator="@android:color/transparent" 
    android:scrollbars="none" > 
</ExpandableListView> 

सूची समूह तत्व के लिए लेआउट

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/accordion_main_background" 
    android:minHeight="50dip" 
    android:orientation="vertical" 
    android:padding="@dimen/screenPromoTaskRootPadding" > 

    <TextView 
     android:id="@+id/accordionTitle" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_marginRight="10dip" 
     android:layout_toLeftOf="@+id/accordionIndicator" 
     android:background="@color/accordionOrangeBackColor" 
     android:paddingLeft="2dip" 
     android:paddingRight="2dip" 
     android:textColor="@color/blackTextColor" 
     android:textSize="@dimen/accordMainTextSize" /> 

    <ImageView 
     android:id="@+id/accordionIndicator" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:src="@drawable/arrow_up_np" /> 

</RelativeLayout> 

और गतिविधि में। अनुकूलित DataCollection केवल एक सूची थी जिसमें ExpandableListAdapter के लिए डेटा शामिल है। इसके अलावा यह Accordion के कार्यान्वयन का खंड है इसलिए सूची समूह एक चयनित के बाद अन्य तत्वों को ध्वस्त कर देगा।

ExpandableListView accordion = (ExpandableListView) findViewById(R.id.accordion); 
accordion.setOnGroupClickListener(this); 

@Override 
public boolean onGroupClick(ExpandableListView paramExpandableListView, View paramView, int paramInt, long paramLong) { 
    ImageView icon=(ImageView)paramView.findViewById(R.id.accordionIndicator); 
    for (int i = 0; i < adapterDataCollection.size(); i++) { 
     if (i == paramInt) { 
      if (paramExpandableListView.isGroupExpanded(i)) { 
       paramExpandableListView.collapseGroup(i); 
       icon.setImageResource(R.drawable.arrow_up_np); 
      } else { 
       paramExpandableListView.expandGroup(i); 
       icon.setImageResource(R.drawable.arrow_down_np); 
      } 
     } else { 
      paramExpandableListView.collapseGroup(i); 
      icon.setImageResource(R.drawable.arrow_up_np); 
     } 
    } 
    paramExpandableListView.invalidate(); 
    return true; 
} 
1

आप [परत-सूची] http://developer.android.com/guide/topics/resources/drawable-resource.html#LayerList

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:bottom="2dp" 
     android:drawable="@drawable/shrink" 
     android:top="2dp"/> 

</layer-list> 

चयनकर्ता

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/layer_shrink" android:state_expanded="true"/> 
1

आप तीर के लिए 9 पैच छवि का उपयोग करना चाहिए द्वारा सूचक ऊंचाई सेट कर सकते हैं। आप छवि को संदर्भित कर सकते हैं।

right_arrow_9_patch_image

और नीचे तीर आप छवि के नीचे का उपयोग कर सकते

down_arrow_9_patch_image

डॉन 'टी भूल तरह "your_image_name.9 छवि का नाम" .9 "संलग्न करने के लिए ।पीएनजी "

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