我正在尝试调试我遇到的 ExpandableListAdapter.getChildView 问题。
我已经为列表项的背景定义了一个包含渐变的形状和一个半径为 1 的角的 Drawable - 没有什么特别的。
然后,在我的适配器代码中,我在 getChildView 中有这个片段:
GradientDrawable background = (GradientDrawable) convertView.getBackground();
float topRadius = 0;
float bottomRadius = 0;
// Make the corner radius obvious for debugging
if (childPosition == 0)
topRadius = 14;
if (childPosition == (mValues.size() - 1))
bottomRadius = 14;
background.setCornerRadii(new float [] { topRadius, topRadius,
topRadius, topRadius,
bottomRadius, bottomRadius,
bottomRadius, bottomRadius});
convertView.setBackgroundDrawable(background);
这里的尝试是舍入第一个列表项的顶部和最后一个列表项的底部。通过调试,我似乎正在为我想要的项目设置我想要的值。
但是,我遇到的问题是正在为所有列表项设置角半径,就好像它是底部项一样。
顺便说一句,有没有办法获得 GradientDrawable 的角半径,至少用于调试目的?
谢谢,
wTS