问题集一: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()不知道为什么就是不行



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

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


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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值