【问题标题】:Resize image based on vertical seekbar?根据垂直搜索栏调整图像大小?
【发布时间】:2019-05-03 09:32:58
【问题描述】:

我正在尝试通过移动垂直搜索栏来测量用户身高。问题是当我尝试调整图像大小时,某些屏幕中的图像看起来比搜索栏缩略图大,或者比缩略图小。我怎么解决这个问题。我写的代码:

 verticalSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean b) {
                int measure = (int) ((((float) progress * point.x) / 250) - (progress * 0.5)) - 250;

                if (progress > 140) {
                    if (point.x - measure < personImage.getHeight()) {
                        params.height = point.x - personImage.getHeight();
                    } else {
                        params.height = measure;
                    }


                    // Set LayoutParams
                    personImage.setLayoutParams(params);
                }
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });

这是我要归档的结果:

【问题讨论】:

  • height = verticalSeekBar.height * (verticalSeekBar.progress/100) ?

标签: java android xml kotlin seekbar


【解决方案1】:

如果您的搜索栏最大值!= 100,那么这可能会解决您的问题:

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
verticalSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean b) {

        params.height = (int) (verticalSeekBar.getHeight() * (float) progress / YOUR_MAX_VALUE) + (int)((YOUR_MAX_VALUE - progress) / 2);
        personImage.setLayoutParams(params);
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {

    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {

    }
});

【讨论】:

  • 正在尝试编辑@shkschneider 答案,但这完全解决了我的问题。
猜你喜欢
  • 2012-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-28
  • 2018-01-25
  • 2012-08-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多