我正在尝试将LinearLayout的宽度限制为400dp或更低。换句话说,如果布局引擎确定LinearLayout将是320dp,我不想改变任何东西,但是如果它确定它将是480dp,我想将它减少到400dp。
我已经尝试了所有我能想到的事情来实现这一目标。我最后的尝试是创建一个继承自LinearLayout的自定义视图并覆盖onMeasure方法来设置自定义维度,但是,我遇到的问题是即使实际的LinearLayout宽度减少了其中的所有视图(即:按钮)仍然布局,好像宽度从未改变,所以它们被侧面切断。
如果有人对如何完成此任务有任何建议或知道任何这样做的开源应用程序,那么我会非常感激。
答案 0 :(得分:0)
您应该检查getMeasuredWidth()
。如果它想要的更大,setLayoutParams()
宽度正确。请记住,在Java单位中以像素为单位,因此您需要正确缩放它们。