Android ListView OnItemClick动画

da_*_*_st 0 android android-animation android-listview

我有这个ListView从Facebook获取朋友:

@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) {
                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);
        }
    };
Run Code Online (Sandbox Code Playgroud)

而且我有这个动画xml:

<set xmlns:android="http://schemas.android.com/apk/res/android">
 <translate android:fromXDelta="100%p" android:toXDelta="0"
     android:duration="300"/>
   <alpha android:fromAlpha="0.0" android:toAlpha="1.0"
     android:duration="300" />
</set>
Run Code Online (Sandbox Code Playgroud)

我试图寻找有关如何将动画添加到ListView的示例,但是我无法让它们与我的代码一起使用,我想创建的是当单击ListView中的项目时,它将启动动画。如何使用OnItemClick将其添加到代码中?

Rod*_*uin 5

您可以使用onclick内的视图,并在单击listView之一时使用进行动画处理:

     listView.setOnItemClickListener(new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> av, final View view, final int i, long i2) {

                  Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(this, R.anim.YOUR_ANIMATION);
                  view.startAnimation(hyperspaceJumpAnimation);

            }
            });
Run Code Online (Sandbox Code Playgroud)