Leo*_*Leo 2 android expandablelistview
我已经使用选择器为我的ExpandableListView设置了指示器图标,但是我的折叠和展开图标被调整大小以匹配原始指示器图标的大小(比我的图标大).任何人都知道如何设置指标图标的大小(宽度和高度)?谢谢!
Sat*_*esh 11
这肯定会有效:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_empty="true">
<layer-list>
<item
android:left="0dp"
android:right="3dp"
android:top="20dp"
android:bottom="20dp"
android:drawable="@drawable/down_indication">
</item>
</layer-list>
</item>
<item android:state_expanded="true">
<layer-list>
<item
android:left="0dp"
android:right="3dp"
android:top="20dp"
android:bottom="20dp"
android:drawable="@drawable/up_indication">
</item>
</layer-list>
</item>
</selector>
Run Code Online (Sandbox Code Playgroud)
小智 8
无论您将指标的尺寸设置为什么,listview Layout的组指标容器都有一个match_parent用于高度,因此您的指标将始终被拉伸.
我得到了这个工作:
(1)将组指示器设置为null
(2)在组布局中包含我的自定义组指示符.
(3)有一个groupClickListener改变你指标的状态.
代码片段:
(1) mListView.setGroupIndicator(null);
(2)在组布局中包含我的指标.
<ImageView
android:id="@+id/help_group_indicator"
android:layout_width="@dimen/help_group_indicator_dimension"
android:layout_height="@dimen/help_group_indicator_dimension"
android:layout_marginTop="@dimen/help_group_indicator_dimension"
android:src="@drawable/down_icon" />
Run Code Online (Sandbox Code Playgroud)
(3)
mListView.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View clickedView, int groupPosition, long rowId) {
ImageView groupIndicator = (ImageView) clickedView.findViewById(R.id.help_group_indicator);
if (parent.isGroupExpanded(groupPosition)) {
parent.collapseGroup(groupPosition);
groupIndicator.setImageResource(R.drawable.down_icon);
} else {
parent.expandGroup(groupPosition);
groupIndicator.setImageResource(R.drawable.up_icon);
}
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
@Satheesh建议的答案将起作用,但前提是所有groupViews都具有相同的高度.如果你的组布局有说明,包装文本和wrap_content为高度,高度可能会根据你的内容而有所不同,你设置的填充可能不再起作用.
| 归档时间: |
|
| 查看次数: |
6779 次 |
| 最近记录: |