2017-07-31 9 views
2

画像やボタンのようなビューを相対レイアウト内に追加する方法を教えてください。しかし、任意の位置に、画像の最大数は10にすることができます。実行時に相対レイアウト内のランダムな位置に画像を追加する

私を助けてください。どのように私は最終的な出力をしたいのビューを添付しています。よろしく アミット・シャルマ

+1

こんにちはアミット:nはあなたのActivityFragmentであなたのようなもので、ランダムな位置であなたのShapeオブジェクトを追加します。 https://stackoverflow.com/questions/22144690/how-to-display-a-button-in-random-screen-position –

+0

こんにちはDeepak、 答えをありがとうが、私はレイアウト内に私はこれを試したが必要助けてくれてありがとうございます。 –

答えて

2

enter image description here

は、この場合、あなたはそれがより理にかなって、AbsoluteLayout検討すべきです。このようにして、各子供のためにランダムにxyの位置を生成することができます。

ネット上には数多くの例がありますが、hereはGoogle検索で最初に見つかったものです。

<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 
    android:layout_width="fill_parent" 
 
    android:layout_height="fill_parent"> 
 
    
 
<!-- Declare your shapes --> 
 

 
</AbsoluteLayout>
:あなたがあなたの活動 xmlファイルに次のように AbsoluteLayoutを宣言していることができ

AbsoluteLayout

画面上にこのような何かをプロットする:要旨は次のようなものです

あなたはこれを試してみることができ

public class MainActivity extends Activity { 
 
@Override 
 
protected void onCreate(Bundle savedInstanceState) { 
 
    super.onCreate(savedInstanceState); 
 
    setContentView(R.layout.activity_main); 
 
    // ... 
 
    // Establish the working area 
 
    DisplayMetrics displayMetrics = new DisplayMetrics(); 
 
    getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); 
 
    int widthArea = displayMetrics.widthPixels; 
 
    int heightArea = displayMetrics.heightPixels; 
 
    //Init the random generator 
 
    Random r = new Random(); 
 
    // Then for each Shape 
 
    // ... 
 
    AbsoluteLayout.LayoutParams pos = 
 
    (AbsoluteLayout.LayoutParams)shape.getLayoutParams(); 
 
    pos.x = r.nextInt(widthArea); 
 
    pos.y = r.nextInt(heightArea); 
 
    shape.setLayoutParams(pos); 
 
    // ... 
 
} 
 
}

+0

ありがとうございました。私はそれに取り組めるように、作業サンプルやコードがありますか? –

+0

こんにちは@AmitSharma、私はいくつかの詳細で私の答えを更新し、それが役立つことを願っています。 – dan

+0

ありがとうございましたシェイプ変数は絶対レイアウトですか? –

関連する問題