可扩展列表视图在jellyBean 4.3版本中将组图标指示器移动到右侧?

时间:2013-08-01 13:30:49

标签: android expandablelistview android-4.3-jelly-bean

以下方法在android版本的jellybean 4.3中不起作用。

historyExpaLV.setIndicatorBounds(historyExpaLV.getRight() - 60,
                    historyExpaLV.getWidth() - 8);    

有谁知道解决方案?提前谢谢。

2 个答案:

答案 0 :(得分:31)

我如何解决这个问题:

将SDK Manager更新到Android 4.3并将其用作构建目标。他们在API 18中引入了一个名为 setIndicatorBoundsRelative(int,int)的新方法,它在android 4.3中作为另一个(但正确)起作用。

检查Android版本,并将旧方法与旧API一起使用:

if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) {
   mListView.setIndicatorBounds(myLeft, myRight);
} else {
   mListView.setIndicatorBoundsRelative(myLeft, myRight);
}

答案 1 :(得分:5)

我认为这是错误

int right = (int) (getResources().getDisplayMetrics().widthPixels - TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, getResources().getDisplayMetrics()));
    expandableListView.setIndicatorBounds(right - getResources().getDrawable(R.drawable.group_indicator_padding).getIntrinsicWidth(), right);

这段代码可以正常工作到4.2.2并且在4.3

上什么都不做