我必須以編程方式執行此操作。所以,忍受我。爲什麼您必須爲您放入視圖中的每個元素創建一組新的RelativeLayout.LayoutParams?
我有文本和兩個按鈕,我設置爲彼此對齊。因此,我爲每個實例創建了一個新的RelativeLayout.LayoutParams實例,並添加了一條規則將其設置爲彼此之下。這工作,我很高興。
我的問題是:爲什麼我必須創建一個新實例才能讓佈局以這種方式顯示它們?有沒有什麼辦法可以減少下面的代碼,使它不那麼重複(除了編寫我自己的私有方法來幹掉它)我想知道是否有辦法用更少的代碼行來完成同樣的事情可能在Android SDK中被忽略)?我必須不斷爲每個元素創建一個新的RelativeLayout.LayoutParams實例嗎?
layout = new RelativeLayout(this);
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
text = new TextView(this);
text.setId(1);
text.setText("This is text");
layout.addView(text);
myButton1 = new Button(this);
myButton1.setId(2)
myButton1.setOnClickListener(this);
RelativeLayout.LayoutParams buttonParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
buttonParams.addRule(RelativeLayout.BELOW, text.getId());
layout.addView(myButton1, buttonParams);
myButton2 = new Button(this);
myButton2.setId(3)
myButton2.setOnClickListener(this);
buttonParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
buttonParams.addRule(RelativeLayout.BELOW, myButton1.getId());
layout.addView(myButton2, buttonParams);
謝謝,諾埃爾。我只是想確保我沒有任何理由沒有做太多的事情。不幸的是,我*有*以編程方式(無XML)執行任何操作。 (我沒有制定規則。) – user5243421