我正在使用以下翻译动画将图像垂直向下移动到我的Android应用程序的屏幕上。但是,当前它的固定位置为150。我希望此值取决于屏幕尺寸。例如,我希望图像从屏幕顶部开始停在用户屏幕长度的20%处。我将如何调整y delta值以适应这一点?
mScanner = (ImageView)findViewById(R.id.logo_img);
mAnimation = new TranslateAnimation(0, 0, -300, 150);
mAnimation.setDuration(2500);
mAnimation.setFillAfter(true);
//mAnimation.setRepeatCount(-1);
// mAnimation.setRepeatMode(Animation.RESTART);
mScanner.setAnimation(mAnimation);
mScanner.setVisibility(View.VISIBLE);
最佳答案
要获取设备屏幕的长度(高度):
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
现在将动画设置为20%:
mAnimation = new TranslateAnimation(0, 0, -300, height*2/10);