嗨我仍然相当新的Android和我有一个我的活动的问题,我有一个布局有4个图像按钮,每个带用户一个新的活动,我希望每个这些图像按钮动画我有动画在不同的活动中工作,以确保它们工作,但如果我将它们添加到图像按钮,应用程序强制关闭java内存不足, 所以我的问题是如何将这些动画添加到我的四个ImageButtons,而不是每次关闭应用程序?
到目前为止,我已经积极地缩小了我的图像,我正在使用安卓教程中的onTouchEvent在.xML中插入drawables并将其调用到imageview背景我的理解是我只是将它粘贴在ImageButton背景上,但这没有用,任何想法
编辑 好的更具体我的图像是res / drawables中的所有图像,也存储为动画列表
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/movingduck1" android:duration="200"/>
<item android:drawable="@drawable/movingduck2" android:duration="200"/>
<item android:drawable="@drawable/movingduck3" android:duration="200"/>
<item android:drawable="@drawable/movingduck4" android:duration="200"/>
<item android:drawable="@drawable/movingduck5" android:duration="200"/>
<item android:drawable="@drawable/movingduck6" android:duration="200"/>
<item android:drawable="@drawable/movingduck7" android:duration="200"/>
<item android:drawable="@drawable/movingduck8" android:duration="200"/>
</animation-list>
我在一个单独的活动中调用它(只是为了确保它有效,并且它确实)使用此代码
public class MainActivity2 extends Activity {
Button button;
AnimationDrawable movingDuck;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_2);
ImageView movingduck = (ImageView) findViewById(R.id.ImageView);
movingduck.setBackgroundResource(R.drawable.movingduck);
movingDuck = (AnimationDrawable) movingduck.getBackground();
}
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
movingDuck.start();
return true;
}
return super.onTouchEvent(event);
}
}
在这个xml上
<RelativeLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/duck_button"
android:background="@drawable/movingduck"
android:id="@+id/ImageView"
android:scaleType="centerCrop"
android:layout_centerInParent="true" />
</RelativeLayout>
但是我想在附加到其中一个图像按钮
的布局上使用它<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linear_layout">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/linear_layout2">
<ImageButton
android:id="@+id/cat_button"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/cat_button"
android:src="@drawable/cat"
android:scaleType="centerCrop"
android:cropToPadding="true"
android:onClick="cat_image"/>
<ImageButton
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:contentDescription="@string/dog_button"
android:id="@+id/dog_button"
android:src="@drawable/dog"
android:scaleType="centerCrop"
android:onClick="dog_image"
android:cropToPadding="true" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linear_layout4">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/cat_text"
android:text="@string/activity1_cat"
android:textSize="23sp"
android:textStyle="bold|italic"
android:layout_weight="1"
android:gravity="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity3_dog"
android:textSize="23sp"
android:id="@+id/textView"
android:layout_gravity="right|center_vertical"
android:textStyle="bold|italic"
android:layout_weight="1"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/linear_layout3">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/duck_button"
android:layout_weight="1"
android:src="@drawable/duck"
android:id="@+id/duck_button"
android:scaleType="centerCrop"
android:onClick="duck_image"
android:cropToPadding="true" />
<ImageButton
android:contentDescription="@string/cow_button"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_weight="1"
android:src="@drawable/cow"
android:id="@+id/jumper_button"
android:scaleType="centerCrop"
android:cropToPadding="true"
android:onClick="cow_image"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linear_layout5">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/duck_text"
android:text="@string/activity2_duck"
android:textSize="23sp"
android:textStyle="bold|italic"
android:layout_weight="1"
android:gravity="center"
android:paddingBottom="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity4_cow"
android:textSize="23sp"
android:id="@+id/cow_text"
android:layout_gravity="right|center_vertical"
android:textStyle="bold|italic"
android:layout_weight="1"
android:gravity="center"
android:paddingBottom="5dp" />
</LinearLayout>
</LinearLayout>
但当我将其设置为图像按钮背景之一时,应用程序强制关闭,内存不足错误这些按钮中的每一个都进入单独的活动我是否需要将其分解为线程?并且我已经阅读了getwindow管理器允许动画启动而没有交互可以应用于图像按钮?感谢任何和所有反馈