Либо отправьте код, либо ознакомьтесь с документацией о том, что вы спрашиваете, и получите немного больше описания. Это не торговый автомат для кода, люди обычно не хотят просто кодировать вещи для людей, потому что они просят об этом. С какими именно проблемами у вас будет хорошее начало? Пожалуйста, прочитайте документы, попробуйте еще раз, и если вы не можете получить его, вернитесь с деталями; вы найдете помощь быстрее.
[редактировать] ---- учебник ниже -----
Поскольку вы на самом деле дали некоторый уровень детализации здесь, я полагаю, я покажу вам простой метод. Во-первых, this
- отличное место для анимации. Используй это. Во-вторых, этот код прекрасно работал для меня на Droid2.
public class animationTEST extends Activity implements AnimationListener {
LinearLayout layout;
LinearLayout layout2;
Animation movement;
Animation movement2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Get the layouts
layout = (LinearLayout) findViewById(R.id.linearLayout1);
layout2 = (LinearLayout) findViewById(R.id.linearLayout2);
// Create animation for right image
movement = AnimationUtils.loadAnimation(this, R.layout.animation_test);
movement.reset();
movement.setAnimationListener(this);
// Create animation for left image
movement2 = AnimationUtils.loadAnimation(this, R.layout.animation_test2);
movement2.reset();
movement2.setAnimationListener(this);
// Start animation on each image
layout2.startAnimation(movement2);
layout.startAnimation(movement);}
// Listen for animations to be finished
// There are more efficient ways, I'm just being lazy.
public void onAnimationEnd(Animation animation) {
layout.setVisibility(View.INVISIBLE);
layout2.setVisibility(View.INVISIBLE);
// or do whatever it is you wanted to do here, like launch another activity?
}
public void onAnimationRepeat(Animation animation) {
}
public void onAnimationStart(Animation animation) {
}
}
Файл main.xml
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="Animation Test Activity" />
<RelativeLayout android:layout_width="match_parent"
android:layout_height="match_parent" android:id="@+id/relativeLayout1">
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_centerVertical="true"
android:layout_marginLeft="105dip" android:id="@+id/linearLayout2">
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:src="@drawable/icon"
android:layout_marginRight="30dip" android:id="@+id/imageView2"></ImageView>
</LinearLayout>
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_centerVertical="true"
android:id="@+id/linearLayout1" android:layout_marginLeft="145dip">
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:src="@drawable/icon"
android:layout_marginRight="30dip" android:id="@+id/imageView1"></ImageView>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
animation_test.xml
(определение анимации перевода)
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="65%p"
android:fromYDelta="0"
android:toYDelta="0%"
android:duration="3000"
android:zAdjustment="top"/>
animation_test2.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="-65%p"
android:fromYDelta="0"
android:toYDelta="0%"
android:duration="3000"
android:zAdjustment="top"/>
Если вы не можете этого понять, вернитесь и прочитайте оба документа, которые я вам дал. Здесь достаточно информации, чтобы понять любую анимацию. Однако вы хотите использовать animationDrawable
объекты не правильно, потому что это анимация кадра, а не преобразование или движение. Кадровая анимация просто делает что-то похожим на то, что она танцует или машет. Когда вы пытаетесь просто переместить, затемнить или масштабировать изображение, вам нужна анимация преобразования. Надеюсь это поможет!