2011-10-26 71 views
3

我有一个问题,我的滚动视图...在滚动视图没有滚动

我的xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> 

     <ScrollView android:id="@+id/scrollView1" android:layout_width="wrap_content" android:layout_height="match_parent"> 
      <RelativeLayout [...]> 
       <TextView [...]></TextView> 
       <Spinner [...]></Spinner> 
       <Button [...]></Button> 
       <ImageButton [...]></ImageButton> 
       <TextView [...]></TextView> 
       <TableLayout [...]> 
        <TableRow [...]> 
         <TextView [...]></TextView> 
         <TextView [...]></TextView> 
         <TextView [...]></TextView> 
        </TableRow> 
        <TableRow [...]> 
         <AutoCompleteTextView [...]></AutoCompleteTextView> 
         <AutoCompleteTextView [...]></AutoCompleteTextView> 
         <Spinner [...]></Spinner> 
        </TableRow> 
       </TableLayout> 
      </RelativeLayout> 
     </ScrollView> 
</LinearLayout> 

当我尝试在我的应用程序滚动它不会工作...我做了什么错? 我删除了元素的属性。如果你需要他们来解决问题,我可以添加它们。 我做了它,以获得更好的概述。

感谢, prexx

回答

3

尝试添加ScrollView作为父项。用LinearLayout交换位置。 并且不要忘记添加你的滚动型的,而不是LinearLayout中的以下内容:

xmlns:android="http://schemas.android.com/apk/res/android" 

而滚动型的layout_widht和layout_height应设置为“FILL_PARENT”

这是我的代码,使用滚动型的日历我做,可以帮助你:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:fillViewport="true"> 
<LinearLayout 
android:id="@+id/layout" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/bg"> 
<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <Button android:id="@+id/dayView" android:text="Day" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"/> 
    <Button android:id="@+id/weekView" android:text="Week" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"/> 
    <Button android:text="Month" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:enabled="false"/> 
    <Button android:id="@+id/eventsView" android:text="Events" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"/> 
</LinearLayout> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <ImageView 
     android:id="@+id/prevMonth" 
     android:src="@drawable/calendar_left_arrow_selector" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
    </ImageView> 
    <Button 
     android:id="@+id/currentMonth" 
     android:layout_weight="0.6" 
     android:textColor="#FFFFFF" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:background="@drawable/calendar_bar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
    </Button> 
    <ImageView 
     android:id="@+id/nextMonth" 
     android:src="@drawable/calendar_right_arrow_selector" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
    </ImageView> 
</LinearLayout> 
<LinearLayout 
    android:layout_gravity="center" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <TextView android:layout_width="wrap_content" android:layout_height="20dp" android:text="Week" android:textColor="#000000" android:layout_weight="1"/> 
    <TextView android:id="@+id/monday" android:layout_width="wrap_content" android:layout_height="20dp" android:text="" android:textColor="#000000" android:layout_weight="1"/> 
    <TextView android:id="@+id/tuesday" android:layout_width="wrap_content" android:layout_height="20dp" android:text="" android:textColor="#000000" android:layout_weight="1"/> 
    <TextView android:id="@+id/wednesday" android:layout_width="wrap_content" android:layout_height="20dp" android:text="" android:textColor="#000000" android:layout_weight="1"/> 
    <TextView android:id="@+id/thursday" android:layout_width="wrap_content" android:layout_height="20dp" android:text="" android:textColor="#000000" android:layout_weight="1"/> 
    <TextView android:id="@+id/friday" android:layout_width="wrap_content" android:layout_height="20dp" android:text="" android:textColor="#000000" android:layout_weight="1"/> 
    <TextView android:id="@+id/saturday" android:layout_width="wrap_content" android:layout_height="20dp" android:text="" android:textColor="#000000" android:layout_weight="1"/> 
    <TextView android:id="@+id/sunday" android:layout_width="wrap_content" android:layout_height="20dp" android:text="" android:textColor="#000000" android:layout_weight="1"/> 
</LinearLayout> 
<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:layout_weight="1"> 
    <ViewFlipper 
     android:id="@+id/flipper" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="horizontal"> 
     <GridView 
      android:id="@+id/weeks" 
      android:numColumns="1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="8" 
      android:scrollbars="none"> 
     </GridView> 
     <GridView 
      android:id="@+id/calendar" 
      android:numColumns="7" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:scrollbars="none"> 
     </GridView> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="horizontal"> 
     <GridView 
      android:id="@+id/weeks2" 
      android:numColumns="1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="8" 
      android:scrollbars="none"> 
     </GridView> 
     <GridView 
      android:id="@+id/calendar2" 
      android:numColumns="7" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:scrollbars="none"> 
     </GridView> 
    </LinearLayout> 
</ViewFlipper> 
</LinearLayout> 
<LinearLayout 
     android:id="@+id/bottom_layout" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 
     <Button 
      android:id="@+id/create_event" 
      android:text="Create event" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"/> 
</LinearLayout> 
</LinearLayout> 
</ScrollView> 
+0

做到了,不会工作既不... – Prexx

+0

此外,为什么你保持一个linearlayout内relativelayout?你可以尝试删除linearlayout – Carnal

+0

我设置滚动视图为父母如你所说仍然不工作 也许是因为这个活动与这个XML是在一个tabview? – Prexx

2

尝试增加android:fillViewport="true"你的滚动视图。

你的scrollView的高度可能应该是match_parentfill_parent

+0

仍然没有工作。 什么我forgott说:这个XML的活动是在Tabview中。 (如果它有任何区别) – Prexx

+0

编辑我的答案 –

+0

仍然不会工作。 :( – Prexx

0

请更改为android:layout_width="wrap_content" android:layout_height="wrap_content" 填写父项。

谢谢

+0

感谢您的回答,但它仍然没有工作 – Prexx

0

如果ScrollView内容不占用整个空间,它会表现为正常布局,即非滚动。

如果您仍然需要ScrollView填满整个屏幕(但仍不能滚动,因为没有足够的内容),你可以做提到Nicholas Magnussen并添加android:fillViewport="true"