有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

基于屏幕大小的java翻译动画

在我的安卓应用程序中,我使用下面的translate动画将图像垂直向下移动到屏幕上。然而,目前它的固定位置是150。我希望此值取决于屏幕大小。例如,我希望图像停止在用户屏幕长度的20%,从屏幕顶部开始。如何调整y增量值以适应此情况

    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);

共 (2) 个答案

  1. # 2 楼答案

    要获取设备屏幕长度(高度),请执行以下操作:

    Display display = getWindowManager().getDefaultDisplay(); 
    int width = display.getWidth();
    int height = display.getHeight();
    

    现在将动画设置为20%,如下所示:

    mAnimation = new TranslateAnimation(0, 0, -300, height*2/10);