簡體   English   中英

如何在線性布局中設置隨機TextView的位置?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM