0

こんにちは、基本的な問題があります。2 つのアニメーション セット (left_to_right と right_to_left) があります。どのボタンをクリックするとアニメーションが開始されますか (1 つのイメージビューがあります)。

私の問題は、ビューのアニメーションが変わらないことです

私のコードはここにあります:

resim=(ImageView)findViewById(R.id.image_sayfa); 
sol=AnimationUtils.loadAnimation(this,R.anim.soltosag);     
sag=AnimationUtils.loadAnimation(this,R.anim.sagtosol);

    b1=(Button)findViewById(R.id.sol);
    b2=(Button)findViewById(R.id.sag);

        b1.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                resim.setAnimation(null);

                resim.startAnimation(sol);

            }       

        }); 

        button.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
    // TODO Auto-generated method stub              

                    resim.startAnimation(sol);



                }   

            }
        });

アニメ/right_to_left:sag.xml

 <?xml version="1.0" encoding="utf-8"?>
        <set xmlns:android="http://schemas.android.com/apk/res/android">
        <translate
        android:toXDelta="100%"
        android:fromXDelta="0"
        android:duration="1250" 
        android:fillAfter="true"
        />
        <alpha 
             android:fromAlpha="1.0"
        android:toAlpha="0"
        android:duration="1250"

            />
     </set>

アニメ/左から右:sol.xml

<?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
    android:fromXDelta="-100%"
    android:toXDelta="0"
    android:duration="1250" 


    />
    <alpha 

         android:fromAlpha="1.0"
    android:toAlpha="0"
    android:duration="1250"

        />
 </set>
4

2 に答える 2

0

私はあなたの質問を理解していませんが、私はあなたを助けようとします.

「ボタン」とは?代わりに b2 であってはなりませんか?

そして、アニメ「sol」を2回使用しています。

resim.startAnimation(sol);

多分

resim.startAnimation(sag);

あなたがやろうとしていることをよりよく説明できますか?

于 2013-06-12T16:14:42.423 に答える
0

わかりました、「%p」を使用する必要があると思います。「100%」ではなく「100%p」という意味です。

ドキュメンテーションは言う:

オプションの %p サフィックスは、一部の親コンテナーに相対的なサイズを提供します

imageView layout_gravity が右に設定されている場合、次のようにすることができます:

soltosag.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true">

<translate
    android:fromXDelta="0"
    android:toXDelta="-100%p"
    android:duration="1250" />

<alpha
    android:fromAlpha="1.0"
    android:toAlpha="0"
    android:duration="1250" />

sagtosol.xml :

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

<translate
    android:fromXDelta="-100%p"
    android:toXDelta="0"
    android:duration="1250" />

<alpha 
     android:fromAlpha="0"
    android:toAlpha="1.0"
    android:duration="1250" />

yourActivity.java:

public class MainActivity extends Activity {

private Button b1;
private Button button;

private ImageView resim;

private Animation sol;
private Animation sag;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    b1 = (Button)findViewById(R.id.b1);
    button = (Button)findViewById(R.id.button);

    resim = (ImageView)findViewById(R.id.resim);

    sol = AnimationUtils.loadAnimation(this,R.animator.soltosag);     
    sag = AnimationUtils.loadAnimation(this,R.animator.sagtosol);

    b1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            resim.startAnimation(sol);
        }
    });

    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            resim.startAnimation(sag);
        }
    });

    }

}

編集 :

レイアウト/main_activity.xml

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/resim"
        android:layout_gravity="right" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher"  />

    <Button
        android:id="@+id/b1" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="b1"/>

     <Button
        android:id="@+id/button" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="button"/>

</LinearLayout>
于 2013-06-13T12:47:36.287 に答える