![](/img/trans.png)
[英]Overlap a transparent foreground of a Relative layout to make text views color gray transparent inside Relative layout
[英]How to make sure views dont overlap when placed in a Relative Layout
我使用RelativeLayout
使用LayoutParams
放置視圖,並設置頂部(y坐標)和左邊距(x坐標)。 當我使用絕對位置放置視圖時,如何確保它們之間沒有重疊? 我確實在某些地方遇到了重疊的問題,而現在我唯一能解決的就是擴大y值。
這是放置視圖的代碼:
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.leftMargin = x;
lp.topMargin = y;
然后,一旦創建視圖,便將其放置在布局中的正確位置:
if(field.getType().equalsIgnoreCase("label"))
{
CSLabel label = (CSLabel) field;
TextView tv = new TextView(this);
tv.setText(Html.fromHtml(label.getText()));
rscroll.addView(tv, lp);
}
這是有時發生的情況的圖片:
在這種情況下,textview和radiogroup是重疊的。 有什么方法可以以編程方式解決重疊問題嗎? 謝謝。
您不太可能希望使用x / y坐標來設置視圖的位置,而是使用alignTop / alignBottom布局參數來設置相對於其他視圖的位置,這將確保不會發生重疊!
另外,請考慮使用其他布局,例如帶有Vertical orieantation的LinearLayout,在諸如您這樣的簡單情況下,它的效率要高得多。
另外,請考慮使用XML而不是Java代碼定義布局。
限制單選按鈕停留在文本視圖下方,或者限制文本視圖停留在單選按鈕上方。
使用布局參數和RelativeLayout.BELOW或RelativeLayout.ABOVE的addRule(int,int)方法。
使用``相對布局''提供的align_top,layout_below和其他屬性來對齊視圖。我也建議您通過XML而不是通過編程來對齊布局。
閱讀此書以獲得有關相對布局的更多信息http://developer.android.com/intl/pt-br/reference/android/widget/RelativeLayout.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.