Code中的Android按钮大小相同

时间:2015-04-13 18:19:08

标签: android button dynamic size

我想动态添加按钮并使它们具有相同的大小。按钮数量取决于单词的长度。当我说长话时,它看起来很不错:

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]);
    }

我怎么能实现这一目标? :)谢谢

1 个答案:

答案 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]);
}