setBackground到表格中的按钮

时间:2019-01-31 09:06:50

标签: android user-interface android-tablelayout tablerow viewflipper

我在ViewFlipper的表格中有一系列按钮,因此可以对表格进行分页。如果我不给它们设置背景,则它们之间将保持空白。但是我需要“使它们漂亮”,因此我为按钮添加了渐变。但是现在他们不再保持利润。

我正在以编程方式添加它们,循环该按钮必须包含的文本的ArrayList,将它们添加到表的适当行中,依此类推。像这样:

final Button btn = new Button(this);
btn.setText(array.get(i));
btn.setTextSize(10);

btn.setOnClickListener(new View.OnClickListener() 
{
    @Override
    public void onClick(View v) 
    {
        Log.i("TAG", "Botón pulsado: " + texto);
        goToModule(texto);
    }
});
btn.setHeight(height);
btn.setWidth(width);
btn.setOnTouchListener(parentListener);
btn.post(new Runnable() 
{
    @Override
    public void run() 
    {
        btn.setCompoundDrawablesWithIntrinsicBounds(null,getDrawableForText(texto),null, null);
        btn.setPadding(0,35,0,0);
        int[] colors = {Color.parseColor("#008000"),Color.parseColor("#ADFF2F")};
        GradientDrawable gd = new GradientDrawable(
        GradientDrawable.Orientation.TL_BR, colors);
        gd.setCornerRadius(30f);
        btn.setBackground(gd);
    }
});
row1.addView(btn);

屏幕上的结果如下:

enter image description here

无论如何,是否要使按钮看起来像没有渐变的按钮,我的意思是,尊重彼此之间的边距,使它们看起来更像一张合适的桌子?

谢谢。

2 个答案:

答案 0 :(得分:1)

尝试为按钮添加边距

 TableRow.LayoutParams params = new TableRow.LayoutParams(
            TableRow.LayoutParams.WRAP_CONTENT,
            TableRow.LayoutParams.WRAP_CONTENT
    );
    params.setMargins(10, 10, 10, 10);
    btn.setLayoutParams(params);

答案 1 :(得分:0)

尝试将边距更改为xml中的填充。