2014-09-22 2 views
1

У меня есть rocket_thrust.xml в разрешении/рисуем /:AnimationDrawable with setImageResource без растянутого изображения?

<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> 

И ImageView в Рез/макет/activity_main.xml

<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

SettingImageResource к animationdrawable работал со мной! – Snake

ответ

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" /> 
Смежные вопросы