我正在开发一个界面,其中一半的屏幕有编辑文本框供用户输入数据,另一半有一个画布可以绘制并读取用户触摸。
现在我正在扩展一个表面视图,并在运行时使用View.Addview将其添加到我的布局(Layout是XML)。
我的问题是设置视图的大小和位置。我希望它是方形的,占据屏幕的一半(风景)。我希望它与右侧对齐,并且可以垂直居中,也可以与顶部对齐。
我可以通过覆盖onMeasure方法来设置大小,但我不知道如何获取显示大小,所以我不知道将它设置为什么。
我对如何对齐视图没有任何想法,我一直在尝试将它添加到各种布局而没有太多运气......
感谢您的帮助!
答案 0 :(得分:2)
有同样的问题。你找到了答案吗?
我明白了。只需修改onlayout(),设置如下:
View child=getChildAt(0);
child.layout(100,100,300,300);
并且不要触及onmeasure()。
答案 1 :(得分:1)
但我不知道如何获得显示尺寸
通常,您不必明确地布局组件。它是布局经理的职责。 您只需设置布局约束。
以下是获取屏幕尺寸的方法。
yourActivity.getWindowManager()getDefaultDisplay()的getWidth();