选择项目时的Android ListView幻灯片动画

时间:2014-04-28 14:50:27

标签: android android-listview

我有这个ListView:

    @Override
        public void onComplete(List<Profile> friends) {

            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    mSpinner.setVisibility(View.GONE);
                    mSpinner.clearAnimation();
                }
                });

            // populate list
            List<String> values = new ArrayList<String>();
            for (Profile profile : friends) {
                //profile.getInstalled();
                values.add(profile.getName());
            }



            ArrayAdapter<String> friendsListAdapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.list_items2, values);
            friendsListAdapter.sort(new Comparator<String>() {
                @Override
                public int compare(String lhs, String rhs) {
                    return lhs.compareTo(rhs);    
                }
            });
            mFriendsList.setAdapter(friendsListAdapter);
        }
    };

在xml中:

<ListView
    android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/imageView9"
    android:divider="#8A8A8A"
    android:cacheColorHint="#00000000"
    android:dividerHeight="0.9dp"
    android:listSelector="#ccc"
    android:choiceMode="singleChoice"
    android:layout_marginBottom="50dp"
    android:background="#fff"
    >

</ListView>

我一直在寻找这种或类似效果的解决方案,但我找不到任何帮助。

ListView从Facebook加载朋友,当在ListView中选择朋友时,它现在做的是将所选项目更改为灰色,但我希望它做的是创建“滑动”动画,有颜色。像这样:

在选择项目之前,这是ListView:

Here is listview before item is selected:

选择项目后,颜色会从右向左滑动:

enter image description here

完成后应该看起来像这样:

enter image description here

我怎么能创造这种效果?

1 个答案:

答案 0 :(得分:0)

您必须使用Android Animations。一种方法是创建所选用户View的位图,并将其放在ListView行的前面,然后从左到右开始用你想要的颜色绘制它。完成绘制后,更改行背景颜色并删除位图。

要绘制单行,您必须在适配器中创建某种地图,并在适配器的on Views方法中跟踪您必须使用背景颜色绘制的getView()。< / p>

使用类似方法here重新排序ListView