![](/img/trans.png)
[英]How to place textview in relative layout at random position of the layout?
[英]How to set random TextView's position inside linear layout?
我在xml上有一個linearlayout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rootlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
</LinearLayout>
我通過以下代碼在其中添加動態100個文本視圖:
llayout = (LinearLayout) findViewById(R.id.rootlayout);
for (int i = 0; i < 100; i++) {
TextView tv = new TextView(this);
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
int randomInt = new Random().nextInt(100) +1 ;
tv.setText(""+randomInt);
llayout.addView(tv);
}
結果是添加了100個文本視圖並垂直顯示。 這不是我的期望。 我希望這些textviews顯示在布局中的隨機位置,如下圖所示:
怎么做? 謝謝!
LinearLayout
用於線性布局其子節點(顧名思義)。
由於沒有RandomLayout
,您可以使用具有隨機左側和頂部布局邊距的RelativeLayout
,或者使用AbsoluteLayout
並設置隨機x和y。
編輯:避免重疊文本
隨機位置當然可以導致重疊,由你來調整位置或忽略與之前位置太相似的位置。 或者,您實際上可能會比較要添加到容器中所有其他視圖的視圖的邊界框(左側,頂部,寬度,高度),如果有任何重疊,請為其找到另一個位置。
您可以使用tv.setX(位置)和tv.setY(位置)來顯示特定位置的視圖
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.