我想动态添加按钮并使它们具有相同的大小。按钮数量取决于单词的长度。当我说长话时,它看起来很不错:
http://i.stack.imgur.com/zZ3FS.jpg
但是当我只有一个字母时,它看起来像这样:
http://i.stack.imgur.com/IyYhd.jpg
这是我的代码:
public void loadButtons() {
buttonsLayout = (LinearLayout) findViewById(R.id.buttons_Layout);
answerButtons = new Button[word.length()];
for (int i = 0; i < word.length(); i++) {
answerButtons[i] = new Button(this);
answerButtons[i].setText(null);
LinearLayout.LayoutParams Params1 = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT,1f);
answerButtons[i].setLayoutParams(Params1);
answerButtons[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
buttonsLayout.addView(answerButtons[i]);
}
我怎么能实现这一目标? :)谢谢
答案 0 :(得分:0)
这是一个hacky解决方案,希望它有效
public void loadButtons() {
buttonsLayout = (LinearLayout) findViewById(R.id.buttons_Layout);
answerButtons = new Button[word.length()];
LinearLayout.LayoutParams layoutParams = (word.length() == 1) ? new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT) : new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT,1f);
for (int i = 0; i < word.length(); i++) {
answerButtons[i] = new Button(this);
answerButtons[i].setText(null);
answerButtons[i].setLayoutParams(layoutParams);
answerButtons[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
buttonsLayout.addView(answerButtons[i]);
}