我的应用程序中有 3horizontal linear layouts
张卡片。第一排4张牌,中间排4张牌,第三排4张牌。我只是想为卡片移动到甲板上(中间布局)设置动画,我正在使用翻译来移动它们和.Animation
vertically
horizontally
动画运行正常,但图像(它们是按钮)在尝试移出自己的linearlayout
. 我尝试将整个布局包装在 a 中FrameLayout
,但这并没有帮助。请帮忙。我在xml layout
下面有我的和代码片段谢谢
布局:
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/cpu1"
android:background="@drawable/card"
android:layout_width="60dp"
android:layout_height="79dp"
android:layout_gravity="center_vertical|center_horizontal"
/>
<TextView
android:id="@+id/cpu1count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="visible"
android:src="@drawable/card"
>
</TextView>
</LinearLayout>
<ImageView
android:id="@+id/blankc1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="invisible"
android:src="@drawable/card"
>
</ImageView>
<LinearLayout
android:orientation="vertical"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/cpu2"
android:background="@drawable/card"
android:layout_width="60dp"
android:layout_height="79dp"
android:layout_gravity="center_vertical|center_horizontal"
/>
<TextView
android:id="@+id/cpu2count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="visible"
android:src="@drawable/card"
>
</TextView>
</LinearLayout>
<ImageView
android:id="@+id/blankc2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="invisible"
android:src="@drawable/card"
>
</ImageView>
<LinearLayout
android:orientation="vertical"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/cpu3"
android:background="@drawable/card"
android:layout_width="60dp"
android:layout_height="79dp"
android:layout_gravity="center_vertical|center_horizontal"
/>
<TextView
android:id="@+id/cpu3count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="visible"
android:src="@drawable/card"
>
</TextView>
</LinearLayout>
<ImageView
android:id="@+id/blankc3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="invisible"
android:src="@drawable/card"
>
</ImageView>
<LinearLayout
android:orientation="vertical"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/cpu4"
android:background="@drawable/card"
android:layout_width="60dp"
android:layout_height="79dp"
android:layout_gravity="center_vertical|center_horizontal"
/>
<TextView
android:id="@+id/cpu4count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="visible"
android:src="@drawable/card"
>
</TextView>
</LinearLayout>
<ImageView
android:id="@+id/lock14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="invisible"
android:src="@drawable/card"
>
</ImageView>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/pile1"
android:background="@drawable/card"
android:layout_width="60dp"
android:layout_height="79dp"
android:layout_gravity="center_vertical|center_horizontal"
/>
<ImageView
android:id="@+id/lock14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="invisible"
android:src="@drawable/card"
>
</ImageView>
<Button android:id="@+id/pile2"
android:background="@drawable/card"
android:layout_width="60dp"
android:layout_height="79dp"
android:layout_gravity="center_vertical|center_horizontal"
/>
<ImageView
android:id="@+id/lock15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="invisible"
android:src="@drawable/card"
>
</ImageView>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/player1"
android:background="@drawable/card"
android:layout_width="60dp"
android:layout_height="79dp"
android:layout_gravity="center_vertical|center_horizontal"
/>
<TextView
android:id="@+id/p1count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="visible"
android:src="@drawable/card"
>
</TextView>
</LinearLayout>
<ImageView
android:id="@+id/lock27"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="invisible"
android:src="@drawable/card"
>
</ImageView>
<LinearLayout
android:orientation="vertical"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/player2"
android:background="@drawable/card"
android:layout_width="60dp"
android:layout_height="79dp"
android:layout_gravity="center_vertical|center_horizontal"
/>
<TextView
android:id="@+id/p2count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="visible"
android:src="@drawable/card"
>
</TextView>
</LinearLayout>
<ImageView
android:id="@+id/lock28"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="invisible"
android:src="@drawable/card"
>
</ImageView>
<LinearLayout
android:orientation="vertical"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/player3"
android:background="@drawable/card"
android:layout_width="60dp"
android:layout_height="79dp"
android:layout_gravity="center_vertical|center_horizontal"
/>
<TextView
android:id="@+id/p3count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="visible"
android:src="@drawable/card"
>
</TextView>
</LinearLayout>
<ImageView
android:id="@+id/lock29"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="invisible"
android:src="@drawable/card"
>
</ImageView>
<LinearLayout
android:orientation="vertical"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/player4"
android:background="@drawable/card"
android:layout_width="60dp"
android:layout_height="79dp"
android:layout_gravity="center_vertical|center_horizontal"
/>
<TextView
android:id="@+id/p4count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="visible"
android:src="@drawable/card"
>
</TextView>
</LinearLayout>
<ImageView
android:id="@+id/lock30"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="invisible"
android:src="@drawable/card"
>
</ImageView>
</LinearLayout>
</LinearLayout>
</LinearLayout>
然后我在代码中为每个按钮设置动画(cpu1,显示顶行的第一张卡):
public void animate_c1_2(){
//animates player card#1 going to deck
cpu1.setVisibility(View.VISIBLE);
//FrameLayout cardimageblank = (FrameLayout) findViewById(R.id.graphics_holder);
Animation animation = new TranslateAnimation(0, 200,0, 50);
animation.setDuration(500);
animation.setFillEnabled(true);
animation.setFillAfter(true);
cpu1.startAnimation(animation);
animation.setAnimationListener(new Animation.AnimationListener() {
public void onAnimationEnd(Animation animation) {
// set image resource to card value
animation.setFillAfter(false);
//player1.setVisibility(View.INVISIBLE);
}
public void onAnimationRepeat(Animation animation) {
// Do nothing!
}
public void onAnimationStart(Animation animation){
// Do nothing!
}
});
} // end cpu1-2 anim