在過去的幾天裏,我一直在試圖弄清楚如何製作一個低於另一個的按鈕列表,並動態填充整個屏幕寬度。因此,例如:如何動態添加下面的按鈕
(我便宜只是把一個已存在的截屏的有一個按鈕和編輯它paint.net使它看起來像按鈕疊加。)
所以,從本質上講,我有一個來自R的字符串列表,其中包括按鈕的名稱,我需要像這樣列出它們。我一直在環顧四周,如果我發現任何東西已經過時(並沒有工作)
這是我到目前爲止(它有點凌亂,因爲它包含許多嘗試,使這發生)
LinearLayout layout = (LinearLayout) findViewById(R.id.mainLayout);
Field[] fields = R.raw.class.getFields();
for(int count=0; count < fields.length; count++){
String filename = fields[count].getName();
try {
Button button = new Button(this);
button.setText(filename);
button.setId(startID + 1 + count); //this variable is offscreen
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//finish later
}
});
button.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
layout.addView(button);
} catch (Exception e) {
Toast.makeText(MainActivity.this, "Exception.", Toast.LENGTH_LONG).show();
}
}
(這是onCreate()
FYI)
因此,如果任何人有我如何能做到這一點的任何解決方案/想法,請分享。我對創建android應用程序相當陌生。
設置'LinearLayout'的方向垂直,因爲它是由默認水平。此外,'String's在'R.string'中,而不是'R.raw'。 –
嗯,對不起。我的意思是像我有一個r.raw中的文件列表,我需要列出它們的名稱。但我現在要設定方向。 –
哦,你也會想把'LayoutParams'的寬度參數改爲'MATCH_PARENT'。 –