【问题标题】:Android - place views outside screenAndroid - 将视图放在屏幕外
【发布时间】:2013-07-24 17:49:47
【问题描述】:

我刚刚制作了这个 FrameLayout,里面有一张非常大的图片,你可以看到那是一张地图。 我想将视图(按钮、图像视图)放在屏幕外,以便用户必须滚动才能在地图上“找到”它们。我正在使用它在地图上滚动:Android: Scrolling an Imageview

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/Container"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#000000" >

    <ImageView
        android:id="@+id/map"
        android:layout_width="2500dp"
        android:layout_height="2000dp"
        android:src="@drawable/map" />
</FrameLayout>

当我尝试以编程方式添加按钮或只是将其放入 XML 时,它只会显示它的左侧边距和顶部边距位置是否与屏幕尺寸一致。 (我相信 480 乘 800)。 如果我添加例如这些尺寸之外的按钮视图不会显示,即使朝它滚动时也不会显示。 FrameLayout margin not working 的解决方案也不起作用。

添加这个作品:

<Button
        android:id="@+id/one"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/one"
        android:layout_marginLeft="420px"
        android:layout_marginTop="240px"
        android:layout_gravity="top"
        android:onClick="click" />

像这样修改它,它不会再显示了,即使向它滚动:

<Button
        android:id="@+id/one"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/one"
        android:layout_marginLeft="1290px"
        android:layout_marginTop="940px"
        android:layout_gravity="top"
        android:onClick="click" />

不管我使用像素还是dp,视图根本不显示。

我不知道为什么会这样,但我很想听听解决方案。任何帮助表示赞赏。

【问题讨论】:

    标签: android scroll screen margin android-framelayout


    【解决方案1】:

    现在这不起作用的原因是因为您的 FragmeLayout 宽度和高度在使用 fill_parent 时太小,并且您试图将按钮添加到它已经结束的位置。

    而且您使用解决方案 Android: Scrolling an Imageview 真正在做的只是设置 ImageView 的新滚动位置(您不是在滚动 FragmeLayout 本身)。

    解决您的问题的方法是将父级的 layout_width 和 layout_height 设置为 ImageView 的宽度和高度,并使用从 Android: Scrolling an Imageview 到整个 FrameLayout 的 onTouchListener。

    【讨论】:

    • 啊,我忘了提到我在 FrameLayout 上有滚动条,但我会通过设置宽度和高度来尝试您的解决方案。这可能确实有效!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 2020-12-16
    相关资源
    最近更新 更多