2013-02-26 126 views
3

我想創建將從屏幕上部下來的圖像。以編程方式將ImageView添加到佈局

對於走到今天我有這樣的:

ImageView mario = (ImageView) findViewById(R.id.mario); 
TranslateAnimation anim = new TranslateAnimation(0f, 0f, 0, 400); 
anim.setInterpolator(new LinearInterpolator()); 
anim.setRepeatCount(Animation.INFINITE); 
anim.setDuration(800); 
mario.startAnimation(anim); 

的問題是,我要設置佈局上的XML文件中的ImageView和這個代碼只只創建1張圖片。

我想編程應用程序在屏幕的上半部分創建幾個圖像(例如在一個循環中)並讓它們在屏幕上下拉。 (這裏我使用TranslateAnimation)。 我發現這樣的事情:

ImageView mario = (ImageView) findViewById(R.drawable.mario); 

但我不知道如何設置這是不是在XML文件中的ImageView的位置(這可能嗎?)。 我雖然關於創建LinearLayout並將其添加到ImageView。但是如何將線性佈局添加到現有佈局?

感謝提前:)

回答

4

您可以創建一些佈局像

View view = (View) findViewById(R.layout.current_layout); //the layout you set in `setContentView()` 
LinearLayout picLL = new LinearLayout(CurrentActivity.this); 
picLL.layout(0, 0, 100, 0); 
picLL.setLayoutParams(new LayoutParams(1000, 60)); 
picLL.setOrientation(LinearLayout.HORIZONTAL); 
((ViewGroup) view).addView(picLL); 

什麼參數你layout()傳遞顯然將取決於你想要什麼。然後,您可以創建單獨的Views以添加到您剛剛創建的Layout。但我強烈建議通過閱讀文檔來理解這裏可以完成的一切。

ViewGroup

View

編輯

ImageView myImage = new ImageView(this); 
picLL.addView(myImage); 
//set attributes for myImage; 
+0

最後一句'((ViewGroup中)視圖).addView (picLL);'不rk,因爲:「類型 ViewGroup無法解析爲某種類型」。另外爲什麼我們不使用'view'?最後一個問題 - 如何將ImageView添加到此視圖? – Ganjira 2013-02-26 21:11:38

+0

'ViewGroup'允許你添加項目到'View'。你可以試試'View',但我不相信它會添加一些東西,但是當我再花幾分鐘時間的時候我會檢查它。我將編輯我的答案,將「ImageView」添加到佈局 – codeMagic 2013-02-26 21:35:26

1

使用下面的代碼,您可以添加圖像動態

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
ImageView imageview = new ImageView(MainActivity.this); 
RelativeLayout relativelayout = (RelativeLayout)findViewById(R.id.relativeLayout); 
LinearLayout.LayoutParams params = new LinearLayout 
.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 

// Add image path from drawable folder. 
imageview.setImageResource(R.drawable.demo_new_image); 
imageview.setLayoutParams(params); 
relativelayout.addView(imageview); 

} 
} 
相關問題