2015-08-22 170 views
-1

我在我的mipmap文件夾中有幾個圖像,我想將它們添加到特定位置的屏幕上,然後移動它們。這裏是我認爲應該工作的代碼:以編程方式添加圖像

ImageView item = new ImageView(this); 
item.setImageResource(R.mipmap.ball); 

其中ball是一個有效的png文件。爲什麼這段代碼不顯示圖像?

+1

因爲你不告訴UI放在哪裏了ImageView的 –

+0

有在堆棧中的任何錯誤跟蹤? – Kun

+0

那也是!你不知道把你的形象放在哪裏。這是通過編程創建的 –

回答

0

我認爲你的xml看起來像這樣。 XML代碼

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/layout"> 

</RelativeLayout> 

並嘗試在你的類文件(即活動)這一個

RelativeLayout layout=(RelativeLayout)findViewById(R.id.layout); 
ImageView imageView=new ImageView(this); 
imageView.setImageResource(R.mipmap.add_symbol); 
//which adds the imageview to your layout 
layout.addView(imageView); 
+0

這工作!我錯過的東西是這樣的: android:id =「@ + id/layout」 我無法引用父佈局來添加圖像。謝謝大家 –

0

正如評論中所述,您正在創建一個未連接到任何視圖的圖像視圖。實例在那裏,但它不知道在哪裏渲染。

如果你知道你要插入它,讓說,一些LinearLayout中與ID image_container,你可以不喜歡(我爲這件事很簡單!):

ImageView item = new ImageView(this); 
    item.setImageResource(R.mipmap.ball); 

    LinearLayout layout = activity.findById(R.id.image_container); 
    layout.addView(item) 

你可能還希望使用item.setScaleType(...)以獲得所需的縮放比例。

這就是說,請記住,以編程方式添加多個項目的正確方法是使用類似RecyclerView的東西。

此外,爲了得到一個不錯的性能爲您的圖像加載和渲染,像GlidePicasso將是非常有用的。

相關問題