Android版面不会横向垂直滚动

时间:2011-09-18 23:06:56

标签: android android-layout scroll scrollview relativelayout

Hi Stack Overflow社区,

我希望你能解决我遇到的Android布局问题。当我横向滚动时,我似乎无法让我的活动垂直滚动。

我有一个scrollview父级和一个relativelayout子级。在relativelayout里面,我有各种各样的元素。纵向方向看起来很棒,但在风景画面中,我缩小了以适应屏幕中的所有内容,并且具有我想要的垂直滚动。

我们非常感谢任何帮助和代码!

-AmarettoSlim

<?xml version="1.0" encoding="utf-8"?>

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ScrollView"
    android:layout_height="fill_parent" android:layout_width="fill_parent" android:fillViewport="true" android:scrollbars="vertical">

    <RelativeLayout android:id="@+id/MainScreen" android:background="@color/appbackground" android:layout_width="fill_parent" android:layout_height="fill_parent" android:isScrollContainer="true" android:scrollbars="vertical" android:scrollbarStyle="insideOverlay">
        <Spinner android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignLeft="@+id/cspinner" android:layout_marginTop="48dp" android:id="@+id/pspinner" android:layout_above="@+id/buttonGo"></Spinner>
        <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/cspinner" android:layout_toLeftOf="@+id/cspinner" android:layout_marginRight="14dp" android:layout_marginTop="14dp" android:id="@+id/labelC" android:text="@string/lblC"></TextView>
        <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/logo" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="14dp" android:id="@+id/bannerLogo"></ImageView>
        <TextView android:id="@+id/labelPrice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/lblP" android:layout_alignTop="@+id/pspinner" android:layout_alignRight="@+id/labelC" android:layout_marginTop="16dp"></TextView>
        <Spinner android:layout_height="wrap_content" android:id="@+id/cspinner" android:layout_width="wrap_content" android:layout_above="@+id/labelP" android:layout_centerHorizontal="true"></Spinner>
        <ImageView android:layout_height="wrap_content" android:id="@+id/imgHat" android:layout_width="wrap_content" android:src="@drawable/bowlericon" android:layout_centerHorizontal="true" android:layout_below="@+id/bannerLogo" android:layout_above="@+id/cspinner"></ImageView>
        <Button android:id="@+id/buttonGo" android:layout_width="fill_parent" android:text="@string/btnRun" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true"></Button>
    </RelativeLayout>

</ScrollView>

2 个答案:

答案 0 :(得分:0)

尝试为横向模式制作单独的布局并将其放入

res/layout-land/

答案 1 :(得分:0)

嗯......你给出了一个重要的线索:“在LandScape中,一切都缩小到适合”。如果一切都合适,那就没有滚动了!

所以我建议将RelativeLayout高度更改为“换行内容”而不是“填充父级”。这样,如果你的relativelayout内的内容超过了scrollview高度,你就可以滚动了。

BTW-此外,填充父级现已过时。你应该使用“匹配父”来代替!