2016-11-07 103 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