2016-11-07 110 views
0

请帮助我如何做到这一点。我想这个绿色边框当我ExpandableListView一组展开:ExpandableListView:将边框添加到展开组

enter image description here

有什么办法,我可以很容易地做到这一点?

编辑: 我试图阿巴斯的答案,但它只是包装父视图,而不是整个组。

enter image description here

回答

0

在你扩张的适配器添加这些行:

public View getGroupView(int groupPosition, boolean isExpanded,View convertView, ViewGroup parent) { 


// Your header layout id  
    RelativeLayout rl_header = (RelativeLayout)convertView.findViewById(R.id.rl_header); 

    if(isExpanded) 
    { 

     rl_header.setBackground(_context.getResources().getDrawable(R.drawable.header_background_black)); 
    } 
    else 
    { 

     rl_header.setBackgroundResource(R.drawable.header_background); 
    } 
    return convertView; 
} 
+0

谢谢,但这与上面的答案类似。它只包装父视图,而不是整个组。在这种情况下,它只能包装“木工和木材”单独 – YellowJ

0

设置选择为背景的父件( - 木工和木材,树木等)。

添加一个新背景文件item_selector.xml in drawable folder。

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <shape android:shape="rectangle"> 
      <stroke android:color="@color/green" android:width="1dp"/> 
     </shape> 
    </item> 
</selector> 

为您的查看项目设置背景xml代码。我只能在这里猜测,因为你没有提供任何代码。

<LinearLayout 
    android:background="@drawable/item_selector"> 
    <TextView></TextView> 
    <ImageView></ImageView> 
</LinearLayout 

最后,当你展开视图即的onClick

expandableView.setSelected(true); 

不要忘记选择了另一种观点认为,当改变选择状态回来了。

+0

谢谢你的答案。我已经尝试过这样做。但这只会包装父视图,而不是整个组..在这种情况下,它只包装“木工和木工”... – YellowJ

+0

添加上面的图片。 – YellowJ

+0

@YellowJ那么也许你应该在你的问题中添加一些代码,以便我们可以更好地理解问题。最好从'ParentItem.xml'和'ChildItem.xml'中。 – Abbas