如果 AbsoluteLayout 已弃用,我可以使用什么来代替它?
我已经做了一个使用 AbsoluteLayout 的应用程序,但它在不同的屏幕分辨率下不能很好地工作。我使用是因为我可以设置按钮的 X 和 Y 位置。我可以使用另一种布局设置按钮的位置吗?
您可以使用 RelativeLayouts,如下所述:Set the absolute position of a view
使用 RelativeLayout 并设置左右边距,如
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
lp.leftMargin = x;
lp.topMargin = y;
考虑使用FrameLayout。如果您将孩子的重力设置为TOP|LEFT
,则可以使用leftMargin
和topMargin
作为位置。作为奖励,您可以通过更改重力获得其他一些有用的定位机制。
如果您想完全控制视图在屏幕上的位置,以扩展 ViewGroup 并实现自己的 AbsoluteLayout,我会建议你们。最简单的解决方案是使用现有的布局之一,并使用边距,填充,重力等进行播放,但控件不会那么强大,并且可能会在 diff 设备屏幕上造成一些问题。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(39条)