0

我正在使用TranslateAnimation从上到下滑动布局(具有不同的 ImageView),但是当它滑动时,它的可触摸区域仍然粘在以前的位置,它不会与 ImageView 一起向下移动,它在视觉上显示它的 Y轴从某个值移动,但其可触摸区域仍在原始位置。

请帮我解决这个问题。

我用它来滑动动画:

TranslateAnimation t =new TranslateAnimation(0, 0,0,35);
t.setDuration(200);
t.setFillAfter(true);   
t.setInterpolator(new LinearInterpolator());
menuSlideBgId.startAnimation(t);
inFram.startAnimation(t);

这是我的 lyaout 文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"

    android:gravity="left|right"
    android:orientation="vertical" 
    android:background="@drawable/bg_android"
    >


    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="150dp"
        android:layout_height="68dp"
        android:layout_gravity="center"
        android:layout_marginTop="15dp"
        android:src="@drawable/thinknsay" />

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/rLay"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >


      <ImageView
              android:id="@+id/menuSlideBg"
              android:layout_width="339dp"
              android:layout_marginLeft="130dp"
              android:layout_marginTop="452dp"
              android:layout_height="35dp"
              android:src="@drawable/menu_slide3" />      

          <RelativeLayout
              xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/slideNavLayout"
              android:layout_width="match_parent"
              android:layout_height="550dp" >

              <ImageView
                  android:id="@+id/bubbleMenu"
                  android:layout_width="28dp"
                  android:layout_height="28dp"
                  android:layout_gravity="left"
                  android:layout_marginLeft="180dp"
                  android:layout_marginTop="455dp"
                  android:src="@drawable/buble_icon" />

              <ImageView
                  android:id="@+id/shareMenuId"
                  android:layout_width="28dp"
                  android:layout_height="28dp"
                  android:layout_gravity="left"
                  android:layout_marginLeft="225dp"
                  android:layout_marginTop="455dp"
                  android:onClick="shareMenu"
                  android:src="@drawable/share_icon" />
        </RelativeLayout>
    </RelativeLayout>
</LinearLayout>
4

1 回答 1

1

TranslateAnimation只是随着时间的推移在不同位置重新绘制视图,它并没有真正移动View. 您还需要更改其布局位置,ObjectAnimator可用于更改View属性。

于 2012-12-23T13:26:08.243 回答