2011-09-29 92 views
5

我有一个应用程序,它在FrameLayout的屏幕上显示相机视图。屏幕处于固定的LandScape模式。如何在屏幕上动态地移动Textview? (framelayout)

我需要用动态确定的屏幕坐标写一个textView。坐标以百分比确定,例如:

在坐标上写上textview x =屏幕的80%& y =屏幕的20%。在屏幕上写上文本视图x =屏幕的35%& y = 55%。

该怎么办?我已经有了百分比,我只需要知道如何使用它们来写的TextView上的FrameLayout里

代码示例所需的位置,欢迎

我试着用这一点,但没有作品,TextView的不动:

TextView poi..... etc etc 
poi.setLayoutParams(new LayoutParams((int)(w*(xCoordPercent/100)), h/2)); 

感谢

+1

我想你要做的是动画TextView。如果是这样的话,你应该看看关于它的教程,这对于这样的基本动作来说是相当直接的,当你在这里等待更多答案时它可以给你想法。 – Sephy

+0

不,不要,我不想让它动起来,我只想把屏幕上的textivew,从左到右,从上到下,依赖于dinamically生成的坐标。后来我会使用一个图像,但现在我需要一个textview – NullPointerException

回答

3
MarginLayoutParams params=(MarginLayoutParams)poi.getLayoutParams(); 
params.leftMargin=80; 
//here 100 means 100px,not 80% of the width of the parent view 
//you may need a calculation to convert the percentage to pixels. 
params.topMargin=50; 
poi.setLayoutParams(params); 

这可能会有帮助。

+0

mote不起作用。 POI仍然画在屏幕的左上角。我必须重新打开窗户或其他东西? FrameLayout也有一个cameraview。哪里不对?我卡住 – NullPointerException

+0

它工作,如果你把textview的相对布局 – NullPointerException