私の循環リストビューに取り組んでいます。ほとんどすべての機能を実装していますが、いくつか問題があります。アクティビティが開始されると、listView は次のようになります。
しかし、それは正しくありません。https://dl.dropbox.com/u/44444463/Screenshot_2013-02-28-14-37-44.pngのようになります。
これが私の問題です。 アクティビティが開始されると、最初のスクリーンショットのようになります。listViewの要素に触れるか、スクロールすると(要素がたくさんある場合)、スクリーンショット2のようになります。まさに私が必要とするもの。アクティビティ開始時に scrennshot 2 のような画像を取得するにはどうすればよいですか?
listView の OnScrollListener でメソッド @Override public void onScroll(..) をオーバーライドしました。ここで、すべてのパディングを適用します。
// 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);
}
}
私の英語で本当にごめんなさい