Android dimens获取值不正确

如下 :slidingMenu.setBehindWidth(R.dimen.sliding_menu_offset);
我通过这一行获取200dp这个值,但是R.dimen.sliding_menu_offset返回的值不是200dp。
而是一串数字
08-14 23:02:09.586: I/System.out(2279): 2131165201就像这样

2个回答

2131165201是R.dimen.sliding_menu_offset所代表的id.
要想取得sliding_menu_offset的值的话,应该写成slidingMenu.setBehidWidth( getResources().getDimensionPixelSize(R.dimen.sliding_menu_offset));
另外getResources().getDimensionPixelSize(R.dimen.sliding_menu_offset)获取回来的值是像素值,这个值是根据dp值和设备的分辨率换算过来的。

FFZ2009
FFZ2009 回复jiangshuai1: 我不太确定是不是理解你的意思了,我姑且先这样回答了。setBehindWidth()要求传入的参数是像素值,有些方法要求传入的参数是resource 的id.这两种参数都是int型的,需要看文档参数要求的是哪种值。
大约 4 年之前 回复
jiangshuai1
jiangshuai1 可是我搜索了很多dimens的示例,为什么在示例中就能直接通过R.dimen.sliding_menu_offset获得值呢
大约 4 年之前 回复
jiangshuai1
jiangshuai1 回复jiangshuai1: 可是我搜索了很多dimens的示例,为什么在示例中就能直接通过R.dimen.sliding_menu_offset获得值呢
大约 4 年之前 回复
jiangshuai1
jiangshuai1 非常感谢
大约 4 年之前 回复

R.id.xxx 取到的只是值对应的id而已,就像指针一样

立即提问
相关内容推荐