得到不同的按钮高度为同一个按钮
问题描述:
我有一个Button
在LinearLayout
我想检索它的高度。得到不同的按钮高度为同一个按钮
我用sample_button.getHeight()
,但它给出了不同的高度值。
即我根据seekbar
进步修改按钮的高度如下:
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromTouch) {
LinearLayout.LayoutParams lp2 = new LinearLayout.LayoutParams(
new ViewGroup.MarginLayoutParams(50, progress * 20));
lp2.setMargins(200, 0, 0, 0);
sample_button.setLayoutParams(lp2);
Log.i("Activity", "progress = " + progress);
Log.i("Activity",
"sample_button.getHeight() = " + sample_button.getHeight());
}
和日志值如下:
progress = 1
sample_button.getHeight() = 60
progress = 2
sample_button.getHeight() = 20
progress = 3
sample_button.getHeight() = 40
progress = 2
sample_button.getHeight() = 60
progress = 3
sample_button.getHeight() = 40
progress = 4
sample_button.getHeight() = 60
progress = 3
sample_button.getHeight() = 80
注意按钮是越来越正常显示,但当progress=2
时,它首先显示height=20
,然后如上所示显示height=60
等等的其他进度值。
我做错了什么。任何帮助赞赏。
答
您是否尝试过这种方式:
ViewGroup.LayoutParams params = sample_button.getLayoutParams();
params.height = progress * 20;
sample_button.setLayoutParams(params);
但它的设置按钮娜的高度?这对我的事业有什么帮助?并在哪里把这段代码片段? – GAMA
我认为你重置你的按钮,因为你没有改变它的布局参数,但传递新的对象。因此,不同的高度。 –
你应该尝试使用它而不是线条:4-8 –