繁体   English   中英

可见键盘时将动画向上推

[英]animation pushed up when keyboard is visible

我有一个动画,其中我的图像在1分钟内从屏幕底部移到屏幕顶部,并在活动开始时开始,如下所示

@Override
    public void onWindowFocusChanged(boolean hasFocus){

        image.getLocationOnScreen(diverSrcLoc); //bottom
        View destLine = (View) findViewById(R.id.diverDest); //top
        destLine.getLocationOnScreen(diverDestLoc);
        destLoc[0] = srcLoc[0]; 

        TranslateAnimation translate = new TranslateAnimation(0, destLoc[0]-srcLoc[0], 0, destLoc[1]-srcLoc[1]);            
        translate.setFillAfter(true);
        translate.setDuration(Constants.MAX_TIME);


        image.startAnimation(translate);
    }

和清单:

<activity
    android:name="com.xxx.MainActivity"
    android:label="@string/app_name"
    android:windowSoftInputMode="adjustResize|stateVisible" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

问题在于,当活动开始并且弹出键盘时,动画会不断超出屏幕(键盘将动画向上推)。 我以为adjustReize可以做到,但运气不好。 当您关闭键盘时,动画将返回其正常路径。 再次弹出键盘,然后再次向上推动画图像。

有没有解决的方法?目的地不应该用键盘改变吗?

您需要添加标志“ adjustPan”,而不是AdjustResize

AdjustResize调整布局的大小,而AdjustPan仅允许键盘显示在其上方

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM