2011-09-29 90 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