使用具有绝对位置的relativelayout

时间:2013-11-04 21:00:15

标签: android relativelayout absolutelayout

我知道我可以使用边距来做到这一点但是当对象靠近屏幕边缘时我遇到了一些问题。在这种情况下,android会尝试将所有视图内容放入屏幕中,这是我不想要的。例如,如果我给视图赋予200宽度,并且100px这是在屏幕外面,它适合它 100 px。

我该如何避免这种情况?

为什么弃绝AbsoluteLayout?我目前正在使用它并且它有效,但我想知道人们是否会向我扔石头

3 个答案:

答案 0 :(得分:0)

如果没有看到您的实际布局,听起来您希望屏幕上显示内容。如果您希望用户能够看到该内容,您可以使用滚动视图。这样,当你开始你的活动时,你的东西会在你布局时出现,任何溢出屏幕外,然后用户可以根据需要滚动到它。

            <HorizontalScrollView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">
                <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="match_parent"
                        android:orientation="horizontal">

                        <!--your stuff here -->

                </LinearLayout>
            </HorizontalScrollView>

否则,如果是图像,可以使用各种裁剪和对齐选项来覆盖您想要的内容。

答案 1 :(得分:0)

使用RelativeLayout。然后在将View添加到RelativeLayout时执行简单检查。例如,记住上一个lastX&amp;已添加lastY的{​​{1}}位置,然后检查View + lastX&lt; = newView.width() RelativeLayout.width(). - &gt;添加它,True - &gt;将newView的Y坐标设置为False + HEIGHT + BOTTOM_MARGIN和lastY返回0

答案 2 :(得分:0)

最后我只是在我的相对布局中添加了一些负填充。由于这些填充,视图不会尝试适应屏幕