我在res / drawable /:
中有rocket_thrust.xml<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/r1" android:duration="200" />
<item android:drawable="@drawable/r2" android:duration="200" />
</animation-list>
res / layout / activity_main.xml中的ImageView
<ImageView
android:id="@+id/rocket_image"
android:orientation="vertical"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</ImageView>
MainActivity.java
AnimationDrawable rocketAnimation;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);
rocketImage.setBackgroundResource(R.drawable.rocket_thrust);
rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
showAnim();
}
public void showAnim() {
rocketAnimation.start();
}
此代码正常运行。
但是,图像被拉长了。我不希望这种伸展。
我改变了:
rocketImage.setBackgroundResource(R.drawable.rocket_thrust);
使用:
rocketImage.setImageResource(R.drawable.rocket_thrust);
没有拉伸。代码现在无法正常工作。
我该如何解决?
答案 0 :(得分:1)
我现在拥有它。
<LinearLayout
android:id="@+id/layoutRocketL"
android:orientation="vertical"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center" >
<ImageView
android:id="@+id/rocket_image"
android:orientation="vertical"
android:layout_alignParentBottom="true"
android:layout_width="200dp"
android:layout_height="wrap_content" >
</ImageView>
</LinearLayout>
答案 1 :(得分:0)
imgMain.setImageResource(R.drawable.sh);
imgMain.post(new Runnable() {
@Override
public void run() {
AnimationDrawable frameAnimation = (AnimationDrawable) imgMain.getDrawable();
frameAnimation.start();
}
});
<ImageView
android:id="@+id/imgMain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:scaleType="centerInside" />