1

我在我的应用程序中使用了手势实现,我的对象在整个屏幕上完美移动,在投掷、滚动等期间,但有时我的对象会离开视图并且消失,现在我必须限制我的手势对象的边界,我已将此手势放在 a 中view,我试图获取 `view 的widthandheight并尝试限制,但我找不到它正确,仍然 ;object 移出其边界....

我的viewholder(放置手势的布局),我试图获取宽度和高度 viewholder.getWidth()viewholder.getHeight()但都返回0,

我知道我在某个地方出错了,谁能纠正我,我怎么能走得更远

framelayout = (FrameLayout) findViewById(R.id.LinearLayout_DrawCircle);
framelayout.addView(new DrawTarget(this)); // 视图 1(绘制同心圆)
framelayout.addView(手势操作); // 视图 2(绘制位图并调用可以移动的手势)
//试图找到视图的`width`和`height`,以便限制对象的移动
 px = framelayout.getWidth();
 py = framelayout.getHeight();
 Log.i(TAG,"宽度 =" +px + "," + "高度 = " +py); //返回0,0

请让我知道如何进一步进行...

提前致谢

4

1 回答 1

0

在 android 中,只有在渲染完成时才会为视图分配宽度和高度。因此,除非您的视图至少被渲染一次,否则它们不会被分配任何宽度或高度。您的问题的解决方案可能是您设置一些最小高度和视图宽度,以便您最初至少有一些东西可以使用,一旦您的视图被渲染,您将拥有视图的宽度和高度。

于 2010-09-02T12:54:27.100 回答