Roy*_*ley 22 android android-linearlayout layoutparams
p我正在使用线性布局,并希望设置视图的最大高度.在"正常"情况下,我希望视图使用"wrap_content".然而,偶尔情况可能会将布局推向不合需要的尺寸.发生这种情况时,我想将高度限制在最大300dp.
当布局中的列表超过4个列表项时,我使用以下设置了视图的大小:
LinearLayout listLayout = (LinearLayout) dialog.findViewById(R.id.listLayout);
if(list.size() > 4){
LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 300);
listLayout.setLayoutParams(params);
}
Run Code Online (Sandbox Code Playgroud)
查看文档使我不了解所应用的度量单位.在这种情况下(dp,sp,px,...),有哪些计量单位?
运行测试,甚至将值设置为100都会使列表超出所需的高度.
请指教
J D*_*ith 22
根据您链接的文档:像素.看到这个功能
宽度,MATCH_PARENT,WRAP_CONTENT或固定大小(以像素为单位)
即使您使用的函数没有任何明确的文档,也暗示它使用与具有最多参数的函数相同的文档.函数本身可能看起来像:
LinearLayout.LayoutParams(int width, int height) {
this(width, height, /*some default value*/);
}
Run Code Online (Sandbox Code Playgroud)
即它只是使用默认值调用3参数版本.