2013-09-06 1 views
6

내 주요 활동에는 큰 태블릿 화면에서는 서로 가깝지만 작은 전화 화면에는 맞지 않는 여러 개의 버튼이 있습니다. 나는 사용자가 다른 버튼으로 스크롤 할 수 있도록 화면 크기를 필요로한다면,있는 ScrollView 추가 :이 좀 작동ScrollView 하단에 큰 공간을 추가합니다.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:background="@drawable/bg" 
      android:gravity="center_horizontal"> 

    <TextView 
     android:id="@+id/trackSelectorText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal"/> 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"     
      android:gravity="center_horizontal"> 

     <Button      
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="foo" /> 
     <!-- More buttons --> 
     </LinearLayout> 
    </ScrollView> 
</LinearLayout> 

그러나 나는 마지막 단추 아래의 큰 빈 공간 (이 즉있는 ScrollView 수 너무 멀리 아래로 스크롤). 실제 태블릿과 전화 구성의 에뮬레이터 모두 내 center 내부 LinearLayout (center_horizontal 대신) 경우 공간이 균등하게 상단과 하단 사이에 확산, 어느 둘도 싶지 않아요. 이 레이아웃을 어떻게 수정합니까?

이 이미지가 더 명확 해지기를 바랍니다. ScrollView가 완전히 아래로 스크롤되고 마지막 버튼이 표시된다고 상상해보십시오.

enter image description here

+0

의 하단에 추가 패딩을 피할 수있는 ScrollView에서이 속성을 사용할 수 있습니까? – Shark

+0

완료, 시각화가 더 쉬워지기를 바랍니다. – Lennart

+0

'ScrollView'와 android : layout_height = "match_parent"를 사용해보십시오. 나는 공간이 scrollview 내부에 있지만 실제로는 –

답변

10

사실, 정말 레이아웃과 관련되지 않았습니다. 나는 배경을 설명해 주려고했는데, 갑자기 일했다. 이미지화 된 배경 (@drawable/bg)은 단순히 너무 커서 스크롤을 발생 시켰습니다. 배경을 9 패치 이미지로 변환했기 때문에 자동으로 크기를 조정할 수 있었고, 더 많은 공간이 사라졌습니다. 여전히 9 패치가 없어도 달성 할 수 있었다면 XML 파일에서이 작업을 수행 할 수 있는지 여부에 관심이 있습니다.

1

나는 완벽하게 내 code..Work으로 확인했다 :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:background="@drawable/bg" 
     android:gravity="center_horizontal"> 

<TextView 
    android:id="@+id/trackSelectorText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center_horizontal"/> 

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="center"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"     
     android:gravity="center_horizontal"> 

    <Button      
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="foo" /> 
    <!-- More buttons --> 
    </LinearLayout> 
    </ScrollView> 
</LinearLayout> 

당신을 도움이 될 수 있습니다 내 말은 빈 공간 오른쪽 이미지 버튼 6 아래의 하나입니다. ...... !!

+0

그리고 원래 코드와의 차이점은 무엇입니까? –

8

이 속성을 ScrollView 요소에 추가 해보십시오. 안드로이드 : fillViewport = "true"를

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:fillViewport="true" > ... </ScrollVIew> 

참조 : (내가 뭔가를 누락하지 않는 한) ScrollView Ref

+1

android : layout_height = "match_parent"는 android : layout_height = "0dp"로 변경해야합니다. – Mieszko

1

당신은 당신이 당신이 원하는 것을 그릴 수 있습니다보기

android:overScrollMode="never" 
관련 문제