我創建了一個滾動視圖,我以編程方式添加了可變數量的按鈕,但我現在必須這樣做,以便在滾動視圖中的每個按鈕旁邊都有第二個較小的按鈕。這是我現在的螢屏:

我希望每個按鈕旁邊都有一個小按鈕,可以讓我洗掉選項或類似的東西。
這是我現在必須構建按鈕的代碼
public void addButtons() {
LinearLayout linearLayout = findViewById(R.id.loadLinearLayout);
int i = 0;
for(File file : files) {
Button newButton = new Button(this);
String filename = file.getName();
newButton.setId(i);
newButton.setText(filename);
newButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
loadGame(view.getId());
}
});
i ;
linearLayout.addView(newButton);
}
}
任何幫助將不勝感激。
uj5u.com熱心網友回復:
不要為每個檔案添加一個,而是Button為每個檔案添加一個整體LinearLayout,水平方向。然后,首先將帶有檔案名的按鈕添加到此內部線性布局,然后是洗掉按鈕(它們將連續出現)。
public void addButtons() {
LinearLayout linearLayout = findViewById(R.id.loadLinearLayout);
int i = 0;
for(File file : files) {
//create horizontal linear layout
LinearLayout innerLayout = new LinearLayout(this);
innerLayout.setOrientation(LinearLayout.HORIZONTAL);
Button newButton = new Button(this); //button which shows file name
String filename = file.getName();
newButton.setId(i);
newButton.setText(filename);
newButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
loadGame(view.getId());
}
});
innerLayout.addView(newButton);
Button deleteButton = new Button(this);
deleteButton.setText("Delete"); //use a string resource ideally
innerLayout.addView(deleteButton);
linearLayout.addView(innerLayout); //add the inner layout to the outer
i ;
}
}
您可能需要做一些額外的樣式設定,例如設定按鈕之間的距離,或者以某種方式對齊它們。你也應該能夠以某種方式以編程方式做到這一點,但那是另一回事。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/425263.html
