在android中滑动按钮?
我在我的应用程序中有一个自定义按钮,它的宽度为50dp,左边距设置为-25dp,所以有一半在屏幕外。我想给它设置动画,这样在某个特定事件中,它向右移动50 dp并保持在那里 我试过这个:在android中滑动按钮?,android,animation,Android,Animation,我在我的应用程序中有一个自定义按钮,它的宽度为50dp,左边距设置为-25dp,所以有一半在屏幕外。我想给它设置动画,这样在某个特定事件中,它向右移动50 dp并保持在那里 我试过这个: TranslateAnimation slide_anim=new TranslateAnimation(0,50,0,0); slide_anim.setDuration(250); mMovingButton.startAnimation(slide_anim); 但是它移动了50个像素,却没有停留在那里
TranslateAnimation slide_anim=new TranslateAnimation(0,50,0,0);
slide_anim.setDuration(250);
mMovingButton.startAnimation(slide_anim);
但是它移动了50个像素,却没有停留在那里,我该如何修复它呢?使用下面的代码-
btnToSlide.animate().translationX(dpToPx(50,mContext)).setDuration(200)
.setStartDelay(0).alpha(200);
要在dp中传递值,请使用dpToPx方法-
public static int dpToPx(int dp, Context context) {
DisplayMetrics displayMetrics = context.getResources()
.getDisplayMetrics();
int px = Math.round(dp
* (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
return px;
}
幻灯片\u anim.setFillAfter(真);将此标记添加到代码中。这看起来确实会将其移动到那里,但hitbox会保持在相同的位置。这是因为您使用的是旧的动画系统,所以应该使用属性动画。