我已经使用选择器为我的ExpandableListView设置指标图标,但我的折叠和展开图标的大小调整为匹配原始指标图标(比我的图标大)的大小。 任何人都知道如何设置指标图标的大小(宽度和高度)? 谢谢!如何设置ExpandableListView的指标图标的宽度和高度?
回答
您是否将背景可绘制设置为图标的正确高度?如果它使用默认的背景可绘制,即使您的可绘图较小,也会得到默认图标的高度/宽度。
这将肯定工作:
<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>
无论你设置你的指标为,的尺寸是什么ListView控件布局的分组指示容器具有高度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" />
(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;
}
});
通过@Satheesh建议将工作答案,但只有当所有groupViews具有相同的高度。如果您的组布局有说,包装文字和wrap_content高度,高度可能会根据您的内容而有所不同,并且您设置的填充可能不再有效。
当组项目的大小不是固定时,面对相同的场景并且它对我有帮助,这很有效。谢谢。 – flexdroid 2015-02-24 20:10:53
如果你有TextView的旁边组布局的指示图标,你也可以做到以下几点:
(1)在ExpandableListView XML布局,删除groupIndicator:
android:groupIndicator="@null"
(2)在您的自定义ExpandableListAdapter,设置左绘制的TextView中的getGroupView(...)方法:
int leftIcon=R.drawable.ic_noexpand;
if (isExpanded) leftIcon=R.drawable.ic_expand;
lblListHeader.setCompoundDrawablesWithIntrinsicBounds(
ContextCompat.getDrawable(_context,leftIcon),null,null,null);
(当Min API为> = 21,你可以使用语境,而不是ContextCompat)
(3)设置在android:paddingLeft="0dp"
XML组布局,因为该指示图标空间现在是空的
- 1. 如何设置标记包含图像的宽度和高度
- 2. 如何根据父级的宽度和高度来设置FontAwesome图标的宽度,高度和位置?
- 3. 如何设置TabPanel标签宽度和标签高度?
- 4. 如何使用JavaScript设置div标签的高度和宽度?
- 5. 设置图像的宽度和高度
- 6. 如何设置位图的图像高度和宽度属性
- 7. CSS如何设置图像而不设置宽度和高度
- 8. Knockout-Kendo.js:设置kendoui标签条的宽度和高度
- 9. 如何设置jqModal的高度宽度?
- 10. 指定绘图的宽度和高度
- 11. 如何调整SVG社交图标的宽度和高度?
- 12. 如何自定义TabBar指标宽度和高度?
- 13. 如何在fabric.js中设置图片的高度和宽度?
- 14. 如何设置colorbox iframe中图像的高度和宽度?
- 15. 如何设置在J2ME(Java)的图像高度和宽度
- 16. 如何设置绘制位图的宽度和高度
- 17. 如何设置图像的高度和宽度?
- 18. 设置标签的宽度
- 19. 高度和宽度的ActionBar标签
- 20. 设置链接的高度和宽度
- 21. tableGrob:设置grid.table的高度和宽度
- 22. 设置场景的宽度和高度
- 23. 设置UIWebView的宽度和高度
- 24. 设置视频的宽度和高度
- 25. 设置高度和宽度的边距
- 26. 如何在android中设置标签控件指标的高度?
- 27. 如何使用JavaFX和Scene Builder修复或设置GridPane行高和列宽的标签高度和宽度?
- 28. 设置标签的高度
- 29. 如何在Jcrop中设置自定义高度和宽度后获取图像的原始高度和宽度
- 30. 如何设置PDF标头的高度?
及其me..thanks工作@ Satheesh..its真的rooking码(Y) – 2015-01-30 10:42:58
没有。不起作用。它缺少一个。 :-( – 2017-03-24 00:35:33
崩溃:java.lang.IllegalArgumentException:在android.graphics中,宽度和高度必须> 0 。Bitmap.createBitmap(Bitmap.java:81 – matheszabi 2018-01-26 10:16:36