根据屏幕大小翻译动画
Translate Animation based on screen size
我正在使用以下翻译动画将图像垂直向下移动到我的 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);
您可以使用 Get Size
以编程方式获取用户的屏幕尺寸
这个问题只涉及:Get screen dimensions in pixels
然后您可以将 150 替换为您定义大小的任何变量。
获取设备屏幕长度(高度):
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
现在为 20%,设置动画如下:
mAnimation = new TranslateAnimation(0, 0, -300, height*2/10);
我正在使用以下翻译动画将图像垂直向下移动到我的 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);
您可以使用 Get Size
以编程方式获取用户的屏幕尺寸这个问题只涉及:Get screen dimensions in pixels
然后您可以将 150 替换为您定义大小的任何变量。
获取设备屏幕长度(高度):
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
现在为 20%,设置动画如下:
mAnimation = new TranslateAnimation(0, 0, -300, height*2/10);