问题集一:view.setLayoutParams(layoutParams)不起作用

//		ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(300, 500);
		
//		LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(300, 500);
		HistogramView histogramView = new HistogramView(this);
		histogramView.setMaxRange((5 + 6*2)*10);
		histogramView.setHeightList(heightList);
//		histogramView.setLayoutParams(layoutParams);//在2.x的系统这样设置貌似没用
		histogramView.setWidthAndHeight(300, 500);//这个是setlayoutparams的替代方法
		ll.addView(histogramView);
		this.setContentView(ll);


在2.3的系统中没用,在ondraw中使用canvas.getwidth()获得的值是屏幕的分辨率,但显示的范围还是300*500,也就是说设置成功了,但是ondraw中获得的值不对

但是在4.0的系统中是可以的,ondraw中使用canvas.getwidth()获得的值是300

有人说params的类型要是父layout的类型,貌似没什么用

原因不知道是为什么,正在研究,但是有了替代的方法,因为我只需要设置宽高,用于view内部计算,所以用一个方法设置就行了。

2014/11/15: 发现如果直接使用getwidth()可以获得layoutparams中设置的值,但是canvas.getwidth()不知道为什么就是不行



——————————————————————

最后欢迎关注我的微信公众号:云端看大地

问题集一:view.setLayoutParams(layoutParams)不起作用_第1张图片


——————————————————————

最后欢迎关注我的微信公众号:云端看大地

问题集一:view.setLayoutParams(layoutParams)不起作用_第2张图片

你可能感兴趣的:(问题集合)