Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将视图放置在屏幕左侧或右侧的特定点上_Android_Android Layout_Android Activity - Fatal编程技术网

Android 将视图放置在屏幕左侧或右侧的特定点上

Android 将视图放置在屏幕左侧或右侧的特定点上,android,android-layout,android-activity,Android,Android Layout,Android Activity,我试图通过seekbars控制视图在屏幕上的宽度、高度和位置。 到目前为止,我已经设法控制宽度和高度,但我有问题,以设置屏幕上的位置。 我使用的工作方式是通过无线电组设置重力左上、左中等,使用LayoutParams: mParams.gravity = Gravity.TOP | Gravity.LEFT; 中间、底部、右侧等也一样。 但我希望有更多的控制,并使用左(屏幕左侧)和右(右侧)搜索栏设置垂直位置。 我试着这样做: mParams.gravity = Gravity.LEFT |

我试图通过seekbars控制视图在屏幕上的宽度、高度和位置。 到目前为止,我已经设法控制宽度和高度,但我有问题,以设置屏幕上的位置。 我使用的工作方式是通过无线电组设置重力左上、左中等,使用LayoutParams:

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)”将控制垂直位置。谢谢,您知道另一种方法吗?您可以使用位置属性,但这也取决于布局。