1

我需要在界面的自定义点中放置一个视图(例如图像)。有没有一种方法可以将视图放在屏幕的精确像素/虚拟像素 (dp) 区域?

我需要将视图显示在其他视图上方。

我认为必须放置一个 RelativeLayout 并在其中放置应用程序的所有布局,然后将视图相对于该布局放置,但我需要一种对未来开发人员更透明的方法能够使用它

编辑:

我忘了说我需要以编程方式在运行时放置视图。我创建界面,在我的应用程序中制作内容,然后将图像放在其他视图上方的视图的具体区域中,例如在屏幕的一半或顶部或屏幕的 20% 或...

4

3 回答 3

2

您可以设置布局的边距和内部视图的填充,并且可以指定相对于边缘或其他视图的位置。您还可以通过将 (match_parent/fill_parent 或 wrap_content) 替换为实际大小来指定布局的固定位置(请注意,您应该在 dp 或 dip 中指定所有尺寸)例如,您有一个线性布局,并且您希望图像视图为 20 dp在左边距的右边,你可以尝试这样的事情:

<LinearLayout
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android::layout_marginLeft="20dp">
   <!-- Nest your views here and if you want you can set padding for them

</LinearLayout>

如果您希望您的视图位于屏幕的某个部分,例如屏幕顶部/屏幕底部等,您可以将它们全部嵌套在 RelativeLayout 中。这是一个很好的方法,它将消除任何混乱。

祝你好运,阿克德

于 2011-11-17T15:19:05.090 回答
1

我在此处发布的示例中的FrameLayout怎么样?

于 2011-11-17T15:26:12.273 回答
0

您可以使用AbsoluteLayout,尽管它已被弃用。

于 2011-11-17T15:15:35.883 回答