如何在android中制作这样的动画()

曾无好事来相访,赖尔高文一起予。这篇文章主要讲述如何在android中制作这样的动画?相关的知识,希望能为你提供帮助。
在我的android应用程序中,视图如下图所示:

现在,这里D是小部分,任何视图或可能是按钮。我想要的是,如果用户点击那个“D”部分,以不同颜色显示的视图应该从左到右平移,只有“D”部分出现在屏幕的最右边。如果用户再次单击该“D”部分,则视图将从右向左翻译,并且如上图所示。
如何制作?
答案此视图称为滑动抽屉。
您可以参考this链接进行滑动抽屉控制。
还有一些链接
Link1
Link2
编辑
而this是Sliding-drawer演示示例的链接
在这个演示示例中有一个布局名称"main.xml",其中有一个变量my:direction="topToBottom",这个描述从你想要打开滑动抽屉的地方
在你的情况下,你想从左向右滑动所以你的变量将是我的:direction =“left To Right”
另一答案假设D是一个i??mageview,它在x方向上从0移动到200。见下面的代码。

public class DActivity extends Activity { ImageView D; int x=0,y=0; int a=0; int newx=0; TranslateAnimation TA; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); D=(ImageView)findViewById(R.id.d); RelativeLayout RL=(RelativeLayout)findViewById(R.id.rl); D.setOnTouchListener(new OnTouchListener() {@Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub x=v.getLeft(); y=v.getTop(); Toast.makeText(getApplicationContext(), "X="+x+"y="+y, Toast.LENGTH_LONG).show(); if(x==0){ D.setEnabled(false); a=200; newx=200; Anim(); } if(x==200){ D.setEnabled(false); a=-200; newx=0; Anim(); } return true; } }); } public void Anim(){ TranslateAnimation TAnimation=new TranslateAnimation(0, a, 0,0); TAnimation.setInterpolator(new LinearInterpolator()); TAnimation.setDuration(5000); TAnimation.setFillAfter(false); TAnimation.setFillEnabled(true); TAnimation.setFillBefore(true); D.startAnimation(TAnimation); TAnimation.setAnimationListener(new AnimationListener() {public void onAnimationStart(Animation animation) { }public void onAnimationRepeat(Animation animation) {}public void onAnimationEnd(Animation animation) { LayoutParams param=new RelativeLayout.LayoutParams( LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); param.setMargins(newx, y, 0, 0); D.setLayoutParams(param); D.setEnabled(true); } }); }

【如何在android中制作这样的动画()】}

    推荐阅读