2011-12-14 5 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

패딩 (패딩, 패딩 탑)을 추가해도 문제가 해결되지 않았습니다. 더 자세하게 얘기해 주 시겠어요? – user836200

+0

패딩을 ScrollView (android : paddingRight = "20dp")에 추가하고 android : scrollbarStyle = "outsideOverlay"를 사용하면 ScrollView 내부의 내용을 20dp 이동하고 그 바깥쪽에 스크롤 막대를 그립니다. – Freddroid

5

: android:scrollbarStyle="outsideOverlay"<ScrollView>

+0

나는 이것을 시도했지만 효과가 없었다. 심지어 리소스를 새로 고치고 프로젝트를 정리하려고 시도했습니다. user836200

+0

android : fillViewport를 제거하고 어떤 일이 발생하는지 확인하십시오. –

+0

Paresh, android : fillViewPort를 제거한 후에 변경된 사항이 없습니다. 스크롤 뷰는 여전히 다른 요소와 겹칩니다. – user836200

0

안에이 설정은 내가 commonsguy (+1)와 채팅 후이 알아 냈어. 내가 스크롤보기 및 루트 요소에 대해받은 안드로이드 오류를 오해. 내 이해에서 스크롤보기에는 하나의 자식 만있을 수 있습니다. 초기 생각은 스크롤 뷰가 루트 요소 (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> 
관련 문제