2012-08-17 57 views
0

enter image description here您好,我正在開發Android圖形視圖的應用程序。我有一個開源圖形應用程序來顯示我的值與圖線。在添加視圖時,我在這裏遇到了問題。我無法使用相對佈局正確添加我的自定義視圖。 在這裏,我附加了我的自定義視圖對齊方式。如何在android中的相對佈局中的特定點添加自定義視圖?

在該圖像點1.是我的結果,而試圖添加自定義視圖。 但我需要補充一點,如第2部分所示。 我的自定義視圖如圖3所示.part 我得到的那行開始x,y,結束x,y值。我嘗試了這個值,但是我得到了結果作爲2部分。請給我提供任何建議 或者讓我知道是否有任何需要的路線。

我的代碼是這樣

View View v1=infalter.inflate(R.layout.bullet, null); 
RelativeLayout.LayoutParams rl=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
rl.setMargins(myX,myY, 0, 0); 
mRelative.addView(v1,rl); 
+0

郵政與實際結果的截圖,因爲我不從圖像中得到它的繪製。 – 2012-08-17 12:23:37

回答

0

您正在設置您獲得的x,y點的邊距,所以視圖將從左上角的x,y開始,這就是您所得到的。你想對齊視圖的底部中心,所以你需要計算這個。

所以:

頂部= Y - viewHeight

左= X - viewWidht/2

+0

您的假設是正確的,但我無法在添加到我的佈局之前獲取viewHeight,viewWeight 。它返回0值。任何想法 – 2012-08-17 13:28:59

+0

如果您的自定義視圖是靜態的,或者可以使用硬編碼值,或者在自定義視圖上調用大小爲確定的度量值。 – 2012-08-17 14:30:16

0

我不知道你MYX和MYY的值,但它看起來像你想對準你的X右上角和y的利潤應用於右邊和頂部分別。如果這是事實確實如此,你可能有更好的東西掉這樣的:

 rl.setMargins(0, 0, myX, myY); 
     rl.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 

到setMargins的參數,以便去如下:左,上,右,下。如果您的myX值是右邊距,並且您希望對象右對齊,則上面的代碼將指定這兩個偏好。

+0

這是在左上角添加視圖 – 2012-08-21 05:06:50

+0

在我的x,y點添加視圖的起始點,並且它正在添加視圖與第一個案例相同 – 2012-08-22 07:00:50

0

在使用相對佈局提供幫助屏幕疊加時,我遇到了奇怪的事情,必須設置相對於右下角而不是左上角的邊距。所以我有一個規則來調整視圖的底部和右側+邊距。

也許這會有所幫助。

相關問題