长按listView上的Animate List Item内容

时间:2014-09-09 09:44:19

标签: android android-listview android-animation

我有一个ListView片段。我想实现标准的android行为 - 短按列表项 - segue到下一个屏幕,长按,否则 - 编辑模式。我成功拦截了长时间的新闻事件。 从默认状态:

enter image description here

我希望动画移动图片和文字:

enter image description here

我的列表视图项具有以下布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:orientation="horizontal"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:paddingBottom="8dp"
android:paddingTop="8dp">

<TextView
    android:id="@+id/items_count"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginRight="0dip"
    android:layout_alignParentRight="true"
    android:gravity="center"
    android:textColor="@android:color/darker_gray"
    android:layout_centerVertical="true"
    android:textSize="20sp" >
</TextView>

<TextView
    android:id="@+id/label"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:drawablePadding="4dp"
    android:textColor="@android:color/black"
    android:textSize="20sp"
    android:gravity="center_vertical|left"
    android:layout_alignBottom="@+id/items_count"
    android:layout_toRightOf="@+id/imageView"
    android:layout_toEndOf="@+id/imageView"
    android:layout_centerVertical="true"
    android:layout_marginLeft="8dp">
</TextView>

<ImageView
    android:layout_width="48dp"
    android:layout_height="48dp"
    android:id="@+id/imageView"
    android:layout_centerVertical="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />
</RelativeLayout>

我怎样才能做到这一点?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情

lv.setOnItemLongClickListener(new OnItemLongClickListener() {

            public boolean onItemLongClick(AdapterView<?> arg0, View v,
                    int pos, long id) {
                //here either set animation on view v 
                // or call findViewById() and get ImageView/TextView and set animation on it
                return true;
            }
        });