2012-05-08 84 views
1

我以編程方式添加ImageView沒有成功。有沒有簡單的方法來將ImageView以編程方式添加到Activity中?ImageView - 如何充氣或以編程方式添加?

THX

編輯:

我已經試過這一點,它不工作。

   for(Bitmap b: photoField){ 
       try{ 
        Log.d("BIT", "Bitmapa "+b); 
        if(b!=null){ 
         ImageView imv=new ImageView(PoiDisplay.this); 
         imv.setImageBitmap(b); 
        } 
       }catch (NullPointerException e) { 
        e.printStackTrace(); 
       } 
      } 
+0

使用的LinearLayout。 檢查[this] [1]答案。 [1]:http://stackoverflow.com/questions/4616445/align-imageview-in-linearlayout-by-code – gutiory

+1

現在,你必須在你的佈局添加此ImageView的。獲取活動根視圖,並在其中添加這些圖像視圖。使用addView()方法。 – user370305

+1

假設您的佈局的主要rootview是LinearLayout,然後使用findViewById()獲取它,並在此for循環中添加這些圖像在該LinearLayout中。 – user370305

回答

4

得到其中U要放置圖像 然後

Relative or Linear or any other layout.. 

RelativeLayout urLayoutId=(RelativeLayout)finViewById(R.id.RelativeLayoutIdInXml); 

    for(Bitmap bitmap: photoField){ 
        try{ 

         if(bitmap!=null){ 
          ImageView img=new ImageView(PoiDisplay.this); 
          img.setImageBitmap(bitmap); 
          urLayoutId.addView(img); 
         } 
        }catch (NullPointerException e) { 
         e.printStackTrace(); 
        } 
      } 
+0

謝謝,你也知道,如何添加到View中「空行」?我正在動態地添加圖像,這使得它們彼此躺在一起。有沒有辦法解決這個問題? – Waypoint

+1

@Waypoint - 使用LInearLayout而不是RelativeLayout並給出方向:vetical。 – user370305

+0

@ user370305 - 這很好,但我需要使用相對佈局。我逐個添加圖像,但似乎他們有固定的間距。有可能以某種方式改變它嗎? ImageView.setPadding不起作用 – Waypoint

1

你只創造它不加它的佈局ID。在佈局上添加視圖。首先創建或獲取佈局。

的LinearLayout LP =(的LinearLayout)findViewByid(R.id.linear_layout_name)

  for(Bitmap b: photoField){ 
      try{ 
       Log.d("BIT", "Bitmapa "+b); 
       if(b!=null){ 
        ImageView imv=new ImageView(PoiDisplay.this); 
        imv.setImageBitmap(b); 
        lp.addview(imv) 
       } 
      }catch (NullPointerException e) { 
       e.printStackTrace(); 
      } 
2

使用此代碼

ImageView i=new ImageView(this); 
i.setImageResource(R.drawable.ic_launcher); 
相關問題