1

アプリケーションでジェスチャの実装を使用しました。オブジェクトは、フリング、スクロールなどの間に画面全体を完全に移動しますが、オブジェクトがビューから消えて消えてしまうことがあります。ジェスチャオブジェクトの境界を制限する必要があります。 、このジェスチャをに配置しました。ビューのとviewを取得して制限しようとしましたが、正しく見つかりません。それでも、オブジェクトは境界から外れます。widthheight

ビューホルダー(ジェスチャが配置されるレイアウト)、幅と高さを取得しようとしました がviewholder.getWidth()viewholder.getHeight()どちらも0を返します。

私はどこかで間違っていることを知っていました、誰かが私を修正することができますか、どうすれば私はさらに進むことができますか

framelayout =(FrameLayout)findViewById(R.id.LinearLayout_DrawCircle);
framelayout.addView(new DrawTarget(this)); //ビュー1(同心円を描く)
framelayout.addView(gestureaction); //ビュー2(ビットマップを描画し、動き回ることができるジェスチャを呼び出します)
//オブジェクトの移動を制限できるように、ビューの`width`と`height`を見つけようとしています
 px = framelayout.getWidth();
 py = framelayout.getHeight();
 Log.i(TAG、 "Width =" + px + "、" + "Height =" + py); //0,0を返します

さらに先に進む方法を教えてください...

前もって感謝します

4

1 に答える 1

0

Android では、レンダリングが完了したときにのみ、ビューに幅と高さが割り当てられます。したがって、ビューが少なくとも一度レンダリングされない限り、幅や高さは割り当てられません。問題の解決策は、ビューの最小の高さと幅を設定して、最初に作業するものが少なくともあるようにすることです。ビューがレンダリングされると、ビューの幅と高さが再生されます。

于 2010-09-02T12:54:27.100 に答える