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>

动画/left_to_right: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 吗?

而且您使用了两次动画“溶胶”。

resim.startAnimation(sol);

也许

resim.startAnimation(sag);

你能更好地解释你想要做什么吗?

于 2013-06-12T16:14:42.423 回答
0

好的,我认为您需要使用“%p”。我的意思是“100%p”而不是“100%”。

文档说:

可选的 %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" />

你的活动.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 回答