我刚刚在这张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并不重要,视图根本不显示。
我不知道为什么会这样,但我很乐意听到解决方案。任何帮助表示赞赏。
答案 0 :(得分:1)
现在无法正常工作的原因是因为使用fill_parent
时您的FragmeLayout宽度和高度太小而您正试图将按钮添加到已经结束的位置。
使用解决方案Android: Scrolling an Imageview你真正做的事情只是设置ImageView的新滚动位置(你不是自己滚动FragmeLayout)。
您的问题的解决方案是将父级的layout_width和layout_height设置为ImageView的宽度和高度,并使用onTouchListener从Android: Scrolling an Imageview到整个FrameLayout。