以编程方式创建带有 2 列按钮的滚动视图 Android Studio Java
Programmatically create a scrollview with 2 columns of buttons Android Studio Java
我创建了一个滚动视图,我以编程方式添加了可变数量的按钮,但我现在必须这样做,以便在滚动视图中的每个按钮旁边都有第二个较小的按钮。现在这是我的屏幕:
我希望每个按钮旁边都有一个小按钮,可以让我删除选项或类似的内容。
这是我现在用来构建按钮的代码
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);
}
}
如有任何帮助,我们将不胜感激。
不是为每个文件添加一个 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++;
}
}
您可能需要做一些额外的样式设置,例如设置按钮之间的距离,或以某种方式对齐它们。您也应该能够以某种方式以编程方式执行此操作,但那是另一回事了。
我创建了一个滚动视图,我以编程方式添加了可变数量的按钮,但我现在必须这样做,以便在滚动视图中的每个按钮旁边都有第二个较小的按钮。现在这是我的屏幕:
我希望每个按钮旁边都有一个小按钮,可以让我删除选项或类似的内容。
这是我现在用来构建按钮的代码
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);
}
}
如有任何帮助,我们将不胜感激。
不是为每个文件添加一个 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++;
}
}
您可能需要做一些额外的样式设置,例如设置按钮之间的距离,或以某种方式对齐它们。您也应该能够以某种方式以编程方式执行此操作,但那是另一回事了。