Android 将视图放置在屏幕左侧或右侧的特定点上
我试图通过seekbars控制视图在屏幕上的宽度、高度和位置。 到目前为止,我已经设法控制宽度和高度,但我有问题,以设置屏幕上的位置。 我使用的工作方式是通过无线电组设置重力左上、左中等,使用LayoutParams:Android 将视图放置在屏幕左侧或右侧的特定点上,android,android-layout,android-activity,Android,Android Layout,Android Activity,我试图通过seekbars控制视图在屏幕上的宽度、高度和位置。 到目前为止,我已经设法控制宽度和高度,但我有问题,以设置屏幕上的位置。 我使用的工作方式是通过无线电组设置重力左上、左中等,使用LayoutParams: mParams.gravity = Gravity.TOP | Gravity.LEFT; 中间、底部、右侧等也一样。 但我希望有更多的控制,并使用左(屏幕左侧)和右(右侧)搜索栏设置垂直位置。 我试着这样做: mParams.gravity = Gravity.LEFT |
mParams.gravity = Gravity.TOP | Gravity.LEFT;
中间、底部、右侧等也一样。
但我希望有更多的控制,并使用左(屏幕左侧)和右(右侧)搜索栏设置垂直位置。
我试着这样做:
mParams.gravity = Gravity.LEFT | (screenHeight -seekBarProgress)
右侧也一样,但我有奇怪的行为。
(屏幕高度-请参阅kbarprogress)
不能像上面那样对重力特性应用任意值。您只能使用预定义的常量值,可以在此处找到:
因此,您无法通过更改重力将视图移动到任意位置。我正在使用layoutParams,我想我找到了使用重力和x,y的方法:
mParams.gravity = Gravity.TOP | Gravity.LEFT;
mParams.y = 24;
为什么要对screenHeight seekBarProgress的值执行按位OR运算?因为Gravity.TOP | Gravity.LEFT将视图置于左上角,所以我假设Gravity.LEFT将其置于左侧,而“(screenHeight-seekBarProgress)”将控制垂直位置。谢谢,您知道另一种方法吗?您可以使用位置属性,但这也取决于布局。