圆形列表视图android
问题描述:
我正在处理我的圆形列表视图。我实现了几乎所有的功能,但是我遇到了一些问题。当我的活动启动我的listView看起来像:https://dl.dropbox.com/u/44444463/Screenshot_2013-02-28-14-37-17.png圆形列表视图android
但它是不正确的。它应该看起来像:https://dl.dropbox.com/u/44444463/Screenshot_2013-02-28-14-37-44.png
这是我的问题。 当活动在第一个屏幕截图中看起来像。如果我触摸listView中的任何元素,或者滚动它(如果有很多元素),它就像screenshot2中的一样。正是我需要的。 如何在活动开始时拍摄像scrennshot 2中的图像?
我overrited方法@覆盖公共无效onScroll(..)在我的ListView OnScrollListener,其中i aplly所有补白:
// int x = 30;
for (int i = 0; i < visibleItemCount; ++i)
{
View v = listView.getChildAt(i);
if (v != null)
{
LinearLayout rl = (LinearLayout) v.findViewById(R.id.rl);
float sin = (float) (v.getTop() + v.getHeight()/2 - centerOfCircle)/radius;
double angle = Math.asin(sin);
int x = (int) (-dXRow + radius * Math.cos(angle));
if (x < 0)
x = 0;
Log.d("MN", "setPadding: " + x);
rl.setPadding(x, 0, 0, 0);
}
}
我Engish实在不好意思
答
则应该在开始peddings您的listView的适配器的getView()方法。然后根据需要重新计算onScroll()。
仅当您滚动ListView时才会调用OnScroll方法。
其启动的ater活动开始。它的工作有点奇怪。例如,如果我申请固定填充80,它会像这样looke:https://dl.dropbox.com/u/44444463/Screenshot_2013-02-28-15-20-47.png 所以我需要重建我排列视图? invalidete()不起作用 – Tooto 2013-02-28 11:21:54
为什么不在getView()方法中设置所需的填充或边距? – TpoM6oH 2013-03-02 12:47:07
我不知道如何获得顶部的距离。可能吗? – Tooto 2013-03-04 07:37:44