5

这是我用来生成视图对象的代码:

        // creates the seekBar
        sBGauge = new SeekBar(this);
        sBGauge.setMax(depthL - 1);
        sBGauge.setMinimumWidth(150);
        sBGauge.setId(2000 + i);
        sBGauge.setOnSeekBarChangeListener(this);

不管我设置了什么 sBGauge.setMinimumWidth(); 它总是看起来只有大约 20 宽。

有什么想法吗?谢谢

编辑:为了提供更多信息,我在 tablerow 中的两个 textViews 之间使用了这个 seekbar。

4

2 回答 2

2

@Amit Hooda 你的解决方案没有解决我的问题,但它确实引导我找到了解决方案。

为了解决这个问题,我必须做的是在我的 TableLayout 中从动态创建的 TableRow 更改为 LinearLayout。然后我能够得到我的屏幕宽度并减去我的文本视图,然后用结果数字设置我的搜索栏宽度。

// gets the width of the screen to set the seekbar width
    Display display = getWindowManager().getDefaultDisplay(); 
    int width = display.getWidth();
width = width - 170;

LinearLayout lL = new LinearLayout(this);
// creates the seekBar
        sBGauge = new SeekBar(this);
        sBGauge.setMax(depthL - 1);
        sBGauge.setId(2000 + i);
        sBGauge.setLayoutParams(new LinearLayout.LayoutParams(width, 50, 1f));
        sBGauge.setOnSeekBarChangeListener(this);
于 2012-10-19T19:02:02.673 回答
1

试试这个

    LayoutParams lp = new LayoutParams(150, 150);
    sBGauge.setLayoutParams(lp);

您可以根据需要更改值 150 和 150。

于 2012-10-17T06:28:35.610 回答