1

编辑: 总结如果我在视图转换上有动画问题出现了,但是一旦我从视图中删除动画,视图翻转器中未显示的子项也会消失。

我创建了一个视图翻转器,它工作得很好我也设置了一些动画,但是例如出现了一个错误。第一屏第二屏第三屏的错误. 就像在下面的屏幕上可以看到的那样,如果我单击随机行视图被翻译,我有一个列表视图。代码:((ViewFlipper)findViewById(R.id.in_app_vf)).setDisplayedChild(1);之后我点击返回按钮,第一个视图出现代码:((ViewFlipper)findViewById(R.id.in_app_vf)).setDisplayedChild(0);但问题是当我点击editText所在的同一个空间时,它会调用键盘。所以列表视图在 editText 字段所在的位置是不可点击的。我找不到问题出在哪里。

我使用的动画:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:fillAfter="true">
    <translate
        android:fromXDelta="0"
        android:toXDelta="-100%p"
        android:duration="700"/>

    <alpha 
        android:fromAlpha="1.0" 
        android:toAlpha="0.0" 
        android:duration="900" />
</set>

我试图删除未使用的视图的代码,但它不起作用:

private void setAllTheOtherViewGone(){
        for(int i = 0; i <= ((ViewFlipper)findViewById(R.id.in_app_vf)).getChildCount()-1;i++)
            if(i != ((ViewFlipper)findViewById(R.id.in_app_vf)).getDisplayedChild()){
                ((ViewFlipper)findViewById(R.id.in_app_vf)).getChildAt(i).setVisibility(View.GONE);
                ((ViewFlipper)findViewById(R.id.in_app_vf)).getChildAt(i).setVisibility(View.INVISIBLE);
            }
    }
4

1 回答 1

0

设置edittext setFocusable(false) 和setFocusableInTouchmode(false) 的属性就可以了。

于 2013-04-12T10:48:55.283 回答