我想解析文字,并为每个单词创建 - 按钮,但我不知道如何一个接一个地安排它们
String s = "Alice was beginning to get very tired of sitting";
String[] q = s.split(" ");
for (int i = 0; i < q.length; i++) {
Button myButton = new Button(this);
myButton.setText(q[i]);
RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout1);
layout.addView(myButton, params);
}
答案 0 :(得分:2)
请参阅此自定义库:FlowLayout
当您在FlowLayout
内添加视图时,如果下一个项目没有空间,它会自动换行。
答案 1 :(得分:2)
你的方法没有太大的错误,只有function deleteFile(filename){
DitFactory.getFile(filename).then(function(response,$window){
console.log('data for download', response);
var data = JSON.stringify(response.data);
var blob = new Blob([data], { type: 'text/plain;charset=utf-8' });
FileSaver.saveAs(blob, 'server.log');
socket.emit('stopRecording',$scope.filename);
});
}
顾名思义要求子视图有一些参数来对齐相对于它们的视图,例如因此,您将获得彼此重叠的视图,因此只有最后添加的视图在顶部可见。
改为使用relative layout
,你会没事的。
答案 2 :(得分:0)
您需要定义RelativeLayout
参数,如下面的示例
下面是一个让你入门的例子,请填写其他内容:
TextView tv = new TextView(mContext); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE); params.leftMargin = 107 ... mRelativeLayout.addView(tv, params);
RelativeLayout.LayoutParams和构造函数的文档是 here
检查以下链接以获取更多有用的信息。
希望它会有所帮助
答案 3 :(得分:0)
在以下代码中,您应该将for的上限更改为变量。
public class MainActivity
extends Activity
implements View.OnClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TableLayout layout = new TableLayout (this);
layout.setLayoutParams( new TableLayout.LayoutParams(4,5) );
layout.setPadding(1,1,1,1);
for (int f=0; f<=13; f++) {
TableRow tr = new TableRow(this);
for (int c=0; c<=9; c++) {
Button b = new Button (this);
b.setText(""+f+c);
b.setTextSize(10.0f);
b.setTextColor(Color.rgb( 100, 200, 200));
b.setOnClickListener(this);
tr.addView(b, 30,30);
} // for
layout.addView(tr);
} // for
super.setContentView(layout);
} // ()
public void onClick(View view) {
((Button) view).setText("*");
((Button) view).setEnabled(false);
}
} // class