2011-03-16 76 views
1

嘿! 基本上,我有这个文字的这个小动画,当一个人点击屏幕时“滑动”下来。翻译动画帮助不大

从上往下滑动需要6秒。

虽然滑动如果有人再次点击屏幕,我想用另一个动画,使它左/右或任何不同的动画。 基本上,使用some_other_animation.xml将该translate.xml动画从该位置(不是从头开始)更换。

(我最终的想法是让它“爆炸”)。 任何帮助表示赞赏。

我的文件:main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout android:id="@+id/root" 
android:layout_width="fill_parent" android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android"  android:gravity="top|center"> 
    <TextView android:id="@+id/animatedText" android:layout_height="wrap_content"  android:text="@string/hello" android:layout_width="wrap_content"></TextView> 
</LinearLayout> 

的strings.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<string name="hello">Just a sample string!</string> 
<string name="app_name">Ryan Sample</string> 

</resources> 

动画类:

package com.ryan.test.animsxx; 

import java.util.Timer; 
import java.util.TimerTask; 

import android.app.Activity; 
import android.os.Bundle; 
import android.os.Handler; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.animation.Animation; 
import android.view.animation.AnimationUtils; 
import android.widget.LinearLayout; 
import android.widget.TextView; 

public class AnimationActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
final Animation a = AnimationUtils.loadAnimation(this, R.anim.translate); 
a.reset(); 
final TextView rText = (TextView) findViewById(R.id.animatedText); 

LinearLayout layout = (LinearLayout) findViewById(R.id.root); 
layout.setOnClickListener(new OnClickListener() { 
@Override public void onClick(View v) { 
rText.startAnimation(a); 

} 
}); 

} 
} 

Translate.xml

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
android:fromXDelta="0%" android:toXDelta="0%" android:fromYDelta="0%" 
android:toYDelta="300%" android:duration="6000" android:zAdjustment="bottom" /> 

清单:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.ryan.test.animsxx" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<uses-sdk android:minSdkVersion="8" /> 

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
<activity android:name=".AnimationActivity" 
android:label="@string/app_name"> 
<intent-filter> 
<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 
</activity> 

</application> 
</manifest> 

回答

1

嗯,你的“第二”的动画不能使用XML定义,因为它依赖于运行事件。您可以根据触摸事件的位置在代码中构建新的动画。

+0

好点!我是一个新手..所以它滑过去了。谢谢! – Ryan 2011-03-24 04:20:07