问题描述
|
我使用自己的图标图像作为ExpandableListView的指示符,但是该图标似乎被拉伸了,我试图将图像文件放在/ drawable和/ drawable-hdpi中,但是没有运气。如果我不使用自己的图标,则内置的Android图标看起来不错,所以我想知道图像尺寸是否受到限制,或者我做错了什么吗?
谢谢!
解决方法
无论您使用什么图像作为组指示符,都将其设置为9色块(xxx.9.png)图像,并将其可拉伸区域设置为边界像素周围(可能是透明的)。这样可以防止图像从中间伸展。
, 如果您想通过编码而不使用其他图像来完成所有这些工作,这就是我的工作方式。
(1)将组指示符设置为空
(2)在组布局中包括我的自定义组指示器。
(3)有一个“ 0”会改变指示器的状态。
代码段:
(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;
}
});
, 可扩展的列表很痛苦。它始终会拉伸图标。一个简单的解决方案是使用九个补丁图像,该图像的顶部和底部均仅包含可拉伸像素。因此,只有这两个像素被拉伸,图像的其余部分保持不变。
希望这有意义