0

子が動的に作成されるviewflipperがあり、textviewまたはwebviewにすることができます。子が TextView の場合、ビュー フリッパーは正しく動作しますが、子が webview の場合は動作しません。

4

1 に答える 1

0

私は同じ問題に直面しました。私が直面した問題は、1 つのビューにある別のビューに webview があります。最初のビューに 2 つのイメージビューがあります。ビューを交換しようとしましたが、ビューが 2 番目のビューに変わりません。タッチ イベントを使用してビュー間を変更しましたが、それは起こっていません。後で、webview にも touch イベントを使用し、ビューを切り替えることができました。

タッチイベントでのスワップに使用されるコードは次のとおりです。

public boolean onTouchEvent(MotionEvent touchevent)
{
switch (touchevent.getAction())
{
    // when user first touches the screen to swap
    case MotionEvent.ACTION_DOWN: 
    {
        lastX = touchevent.getX();
        break;
    }
    case MotionEvent.ACTION_UP: 
    {
        float currentX = touchevent.getX();
        // if left to right swipe on screen
        if (lastX < currentX) 
        {
            // If no more View/Child to flip
            if (viewFlipper.getDisplayedChild() == 0)
                break;
            // set the required Animation type to ViewFlipper
            // The Next screen will come in form Left and current Screen will go OUT from Right 
            viewFlipper.setInAnimation(this, R.anim.in_from_left);
            viewFlipper.setOutAnimation(this, R.anim.out_to_right);
            // Show the next Screen
            viewFlipper.showNext();
        }
        // if right to left swipe on screen
        if (lastX > currentX)
        {
            if (viewFlipper.getDisplayedChild() == 1)
                break;
            // set the required Animation type to ViewFlipper
            // The Next screen will come in form Right and current Screen will go OUT from Left 
            viewFlipper.setInAnimation(this, R.anim.in_from_right);
            viewFlipper.setOutAnimation(this, R.anim.out_to_left);
            // Show The Previous Screen
            viewFlipper.showPrevious();
        }
        break;
    }
}
return false;

}

Webview setOnTouchListener に同じコードを使用して、うまくいくようにしてください。

これがお役に立てば幸いです。

ありがとう、G.Shashank Reddy。

于 2013-11-19T07:14:28.623 に答える