2012-06-09 46 views
0

好幾天過後,我來到了源代碼。 我有在Eclipse圖形佈局中繪製和創建的主屏幕。 它由屏幕頂部的按鈕組成。按鈕下方是image.png區域。 應用程序啓動時,它顯示正確。頂部的按鈕和按鈕下方的圖形圖像。 在按下每個按鈕時,我希望圖像被更改。我可以提供一個可繪製或位圖圖像(想通了)。 我需要幫助。我不明白的是如何使用XML生成屏幕按鈕來顯示外部圖像。Android:將位圖或可繪製圖像放入XML顯示屏幕

我目前有很多測試試驗,但沒有給我什麼,我正在尋找。 我想放置一個可繪製或位圖圖像到R.id.imgVwMain並讓它顯示按鈕。我知道我提供了額外的代碼。 R.id.imgVwMain作爲默認在啓動時有一個圖像(即啓動畫面),但我想在按鈕按下時動態替換它。

代碼片段:

ImageView img=new ImageView(this); 
View image; 
Drawable drawable= getImg(0); // GETS NEW IMAGE as drawable 
img.setImageDrawable(drawable); 

//setContentView(img); // when uncommented displays just the image no buttons, not what needed 
//R.id.imgVwMain // the target ID to place the new image into 

image = findViewById(R.id.imgVwMain); 

ImageView imageView=(ImageView)findViewById(R.id.imgVwMain); 

imageView.setImageBitmap(drawableToBitmap(drawable)); 

image.setImageResource(imageView); 

setContentView(R.layout.main); //of course this just displays default of the XML 

回答

0

集onClickListeners到你的按鈕,像這樣:

Button mButton = (Button) findViewById(R.id.my_button); 
mButton.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     ImageView ivImage = (ImageView) findViewById(R.id.imgVwMain); 
     ivImage.setImageDrawable(getImg(0)); 
    } 
}); 

現在,只要點擊按鈕將其設置是你想無論你imageview的形象。

+0

非常感謝您。我用這個部分處理了XML中的點擊,不過後來我發現你的點擊方法:ImageView ivImage =(ImageView)findViewById(R.id.imgVwMain); ivImage.setImageDrawable(getImg(0)); – user1445716

0

你或許可以用addView動態地添加一個ImageView的,同樣叫removeView擺脫一個ImageView的的。在某些時候,您還需要設置layout parameters。希望這將讓你開始:

myParentViewOrLayout.removeView(oldImage); 

ImageView newImage = (ImageView) findViewById(R.id.imgToAdd); 
//Set your layoutParams 
myParentViewOrLayout.addView(newImage);