2013-03-12 2 views
6

内で動的にImageViewsを作成します。私はImageViewのウィジェットでのイメージをロードし、このコードを書かれているループ

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.gallery); 
    i = (ImageView)findViewById(R.id.imageView1); 

    new get_image("https://www.google.com/images/srpr/logo4w.png") { 
     ImageView imageView1 = new ImageView(GalleryActivity.this); 

     ProgressDialog dialog = ProgressDialog.show(GalleryActivity.this, "", "Loading. Please wait...", true); 

     protected void onPreExecute(){ 
      super.onPreExecute(); 
     } 

     protected void onPostExecute(Boolean result) { 
      i.setImageBitmap(bitmap); 
     dialog.dismiss(); 
     } 
    }.execute(); 


} 

府今、私はいくつかの画像をロードします。このため私は、動的に画像ビューを作成する必要がありますが、私はforループ内で私のコードを実行する方法を...

知らない:

for(int i;i<range;i++){ 
    //LOAD SEVERAL IMAGES. READ URL FROM AN ARRAY 
} 

私の主な問題は、動的ループ内のいくつかのImageViewsを作成しています

+0

を試してみてください...あなたの条件に応じて(同様に動的であってもよい)、レイアウト、画像リソースや画像の一切を変更することはできませんが、特定の理由がありますなぜAndroidの内蔵リストコントロールを使用できないのですか? – Premsuraj

+0

@Premsuraj:いいえ、この目的のために組み込みのウ​​ィジェットを使用できますか?どうやって? – Fcoder

+0

なぜ複数の画像ビューが必要ですか?目的は何ですか?あなたはリストに画像を表示する必要がありますか? –

答えて

14

あなたは

LinearLayout layout = (LinearLayout)findViewById(R.id.imageLayout); 
for(int i=0;i<10;i++) 
{ 
    ImageView image = new ImageView(this); 
    image.setLayoutParams(new android.view.ViewGroup.LayoutParams(80,60)); 
    image.setMaxHeight(20); 
    image.setMaxWidth(20); 

    // Adds the view to the layout 
    layout.addView(image); 
} 
+0

こんにちはフセイン。なぜsetMaxHeightとsetMaxWidthを設定するのですか? –

+0

@Mitulátbáti:http://developer.android.com/reference/android/widget/ImageView.html#setMaxHeight(int) –

+0

私たちはその画像ビューに余白を設定できますか? –

1

あなたはImageViews

theLayoutは、あなたがあなたの画像ビューを追加するレイアウトです
ImageView image = new ImageView(this); 
LinearLayout.LayoutParams vp = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 
image.setLayoutParams(vp); 
image.setMaxHeight(50); 
image.setMaxWidth(50); 
// other image settings 
image.setImageDrawable(drawable); 
theLayout.addView(image); 

を作成するには、このコードを使用することができます。

devページで、すべての可能なオプションが一覧表示されています。

0

この

rootLayout = (LinearLayout) view1.findViewById(R.id.linearLayout1); 

    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
      LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
    params.gravity = Gravity.CENTER_VERTICAL; 

    params.setMargins(0, 0, 60, 0); 


    for(int x=0;x<2;x++) { 
     ImageView image = new ImageView(getActivity()); 

     image.setBackgroundResource(R.drawable.ic_swimming); 
     rootLayout.addView(image); 
    } 
関連する問題