0

TranslateAnimationを使用して上から下に Layout (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 に答える