首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在android中着色按钮时出现坏视图

在android中着色按钮时出现坏视图
EN

Stack Overflow用户
提问于 2013-07-21 03:16:01
回答 1查看 126关注 0票数 0

我已经创建了一个android应用程序,它动态地创建了50个按钮,工作非常完美,但问题是,当我使用下面给出的代码动态地为这些按钮添加背景颜色时,我的视图会变差

代码语言:javascript
复制
buttons[i][j].setTextColor(Color.BLACK);
buttons[i][j].setBackgroundColor(Color.GREEN);

我的代码如下所示,有人能告诉我一些解决办法吗?

我的安卓平台是2.3.3

代码语言:javascript
复制
import android.app.Activity;
import android.os.Bundle;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.LinearLayout;

public class MyMain extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mymain);
        createCalender();
    }
    public void createCalender()
    {  
        LinearLayout layoutVertical = (LinearLayout) findViewById(R.id.liVLayout);
        LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
        LayoutParams.MATCH_PARENT,
        LayoutParams.MATCH_PARENT, 1.0f);
        LinearLayout rowLayout=null;
        Button[][] buttons = new Button[10][5]; 
        int count=51;
        int tab=1;
        for (int i = 0; i<10; i++) 
        {
            if(count%5==1)
            {
                rowLayout = new LinearLayout(this);
                rowLayout.setWeightSum(5);
                layoutVertical.addView(rowLayout,param);
                count=count-5;
            }
            for(int j=0;j<5;j++)
            {
                buttons[i][j]=new Button(this);
                buttons[i][j].setText(""+tab);
                buttons[i][j].setHeight(35);
                buttons[i][j].setWidth(75);                                            
                buttons[i][j].setTextColor(Color.BLACK);
                buttons[i][j].setBackgroundColor(Color.GREEN);
                tab++;

                rowLayout.addView(buttons[i][j],param);
            }
        }
    }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-21 03:37:41

你应该增加一些空白处,让这些按钮有喘息的空间。

代码语言:javascript
复制
// First try with WRAP_CONTENT
LinearLayout.LayoutParams paramForButtons = new LinearLayout.LayoutParams(
                                                LayoutParams.WRAP_CONTENT,
                                                LayoutParams.WRAP_CONTENT, 1.0f);

// If the buttons look too small using WRAP_CONTENT, change to MATCH_PARENT
// Set the margins in this case
LinearLayout.LayoutParams paramForButtons = new LinearLayout.LayoutParams(
                                                LayoutParams.MATCH_PARENT,
                                                LayoutParams.MATCH_PARENT, 1.0f);


paramForButtons.setMargins(10, 10, 10, 10);

for循环的最后一行替换为:

代码语言:javascript
复制
rowLayout.addView(buttons[i][j],paramForButtons);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17768711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档