2011-12-14 145 views
3

我遇到了一个问题,其中滚动条与我的布局中的某个元素重叠。我希望滚动条出现在编辑框后面:enter image description here。当将滚动条添加到xml文件的不同部分时,我收到了错误消息,我明白这意味着scrollview必须是根元素。其结果是,我的代码看起来像这样(当我觉得像滚动视图应该来的第一线布局和/或编辑框后):Android滚动视图与键布局元素重叠

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:fillViewport="true" > 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/db1_root" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <LinearLayout style="@style/TitleBar"> 
     <ImageView style="@style/TitleBarLogo" 
      android:contentDescription="@string/description_logo" 
      android:src="@drawable/logo" /> 

     <ImageView style="@style/TitleBarSeparator" /> 
     <TextView style="@style/TitleBarText" /> 
     <ImageButton style="@style/TitleBarAction" 
      android:contentDescription="@string/description_about" 
      android:src="@drawable/about" 
      android:onClick="onClickAbout" /> 
    </LinearLayout> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <EditText 
     android:layout_width="match_parent" 
     android:id="@+id/status" 
     android:layout_height="wrap_content"> 
     <requestFocus></requestFocus> 
    </EditText> 
<Button android:layout_width="wrap_content" android:text="Ok" android:textColor="@color/title_text" android:layout_gravity="center" android:background="@drawable/custom_button" android:layout_height="wrap_content"></Button> 
    <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> 
     <TextView android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:text="" android:id="@+id/updates" android:textSize="14dp" android:layout_height="wrap_content"></TextView> 
    </LinearLayout> 
    <TextView android:text="" android:id="@+id/test" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> 
</LinearLayout> 
</LinearLayout> 
</ScrollView> 

回答

0

给你LinearLayout或您ScrollView一些padding

+0

添加填充(填充,paddingTop)没有解决问题。你可以说得更详细点吗? – user836200 2011-12-14 06:15:17

+0

通过向ScrollView添加填充(android:paddingRight =“20dp”)并使用android:scrollbarStyle =“outsideOverlay”,您可以将ScrollView中的内容移动20dp并在其外部绘制滚动条。 – Freddroid 2012-03-05 09:27:08

5

这可能会为你工作:android:scrollbarStyle="outsideOverlay",设置这个<ScrollView>

0

里面我用commonsguy(+1)后聊天想通了这一点。我误解了我收到的有关滚动视图和根元素的android错误。根据我的理解,滚动视图只能有一个孩子。我最初的想法是,滚动视图需要围绕根元素(oops)。这里是修复:

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/db1_root" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <LinearLayout style="@style/TitleBar"> 
     <ImageView style="@style/TitleBarLogo" 
      android:contentDescription="@string/description_logo" 
      android:src="@drawable/logo" /> 

     <ImageView style="@style/TitleBarSeparator" /> 
     <TextView style="@style/TitleBarText" /> 
     <ImageButton style="@style/TitleBarAction" 
      android:contentDescription="@string/description_about" 
      android:src="@drawable/about" 
      android:onClick="onClickAbout" /> 
    </LinearLayout> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <EditText 
     android:layout_width="match_parent" 
     android:id="@+id/status" 
     android:layout_height="wrap_content"> 
     <requestFocus></requestFocus> 
    </EditText> 
<Button 
    android:layout_width="wrap_content" 
    android:text="Go" 
    android:textColor="@color/title_text" 
    android:layout_gravity="center" 
    android:id="@+id/communitysubmit" 
    android:background="@drawable/custom_button" 
    android:layout_height="wrap_content"> 
</Button> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:fillViewport="true" > 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:id="@+id/linearLayoutcommunity" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 
    <TextView 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:layout_width="wrap_content" 
     android:text="" 
     android:id="@+id/updates" 
     android:textSize="14dp" 
     android:layout_height="wrap_content"> 
    </TextView> 
    </LinearLayout> 
    </ScrollView> 
    <TextView 
     android:text="" 
     android:id="@+id/test" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
    </TextView> 
</LinearLayout> 
</LinearLayout>