2013-08-07 2 views
0

ListViewImageView을 포함하는 LinearLayout 제품을 가지고 있습니다.ListView와 ImageView를 LinearLayout으로 스크롤 할 수있게 만드는 방법은 무엇입니까?

요소의 높이가 LinearLayout의 영역보다 큰 경우 문서 레이아웃 영역을 스크롤 할 수 있어야합니다.

하지만 스크롤을 사용할 수 없습니다.

listview에 많은 요소가 포함되어있을 때만 스크롤 할 수 있습니다. 그러나이 경우 ImageView 구성 요소 은 전혀 표시되지 않습니다..

ListView에는 자신의 Scroll 요소가 있기 때문에 ScrollView을 사용하는 것은 허용되지 않습니다.

내가 어떻게해야합니까? 당신 ListView이 비어 있지 않은 경우

<LinearLayout android:orientation="vertical" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_below="@id/top_header" 
       android:layout_above="@id/bottom_menu" 
       android:layout_weight="1" 
       android:id="@+id/sub_content_view"> 

    <ListView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/eventsListView"/> 

    <ImageView 
      android:layout_width="fill_parent" 
      android:layout_height="260dp" 
      android:id="@+id/empty_area" 
      android:adjustViewBounds="true" 
      android:background="@drawable/empty_area" 
      android:contentDescription="@string/contentDescription"/> 

</LinearLayout> 

답변

0

, 당신의 ImageViewlist footer로를 등록 ListView와 그 다음 스크롤 할 수 있습니다 : 여기

내 xml 파일의 일부입니다. 그러나 목록이 비어 있으면 바닥 글이 표시되지 않으므로 빈보기에도 ImageView을 추가해야합니다. 거기에 아무것도 할 때 가능한 솔루션보다

0

먼저 2 개의 댓글이

(1) ListView은 스크롤되지 않습니다. 대신 프로그램 적으로 또는 XML로 설정할 수있는 빈보기를 표시합니다 (일반적으로 "목록이 비어 있음"의 범위까지 뭔가를 말하는 텍스트보기).

(2) ListViewwrap_content으로 설정된 동안 ImageView은 고정 된 높이로 설정됩니다. 따라서 ListView에 화면의 영역보다 큰 요소가 충분히 포함되어 있으면 ImageView이 보이지 않게됩니다. 내가 아직 LinearLayout 또는 RelativeLayout을보아야 만 했으므로 화면에 공간이있을 때보 다 더 스크롤 할 수있는 경우 스크롤 할 수있게됩니다 (방금 그렇게하려고했습니다). 나는 당신이 묘사 한 것에 놀라지 않습니다.

ScrollViewListView을 어린이로 사용하는 것이 좋지 않습니다. 내가 시도하고자하는 것은 - ListViewImageView을 같은 LinearLayout에 넣는 대신 두 개를 분리하는 것입니다. XML의 나머지 부분은 알 수 없지만 ImageView을 해당 레이아웃 요소 밖으로 이동 한 경우 ListView을 포함하는 부분 아래에 배치 할 수 있어야합니다. 목록의 크기에 관계없이 ImageView은 그대로 유지됩니다. 같은 장소.

바닥 글을 사용하려면 위의 제안이 적용될 수 있지만 footer은 목록의 맨 아래에 고정되어 있습니다. 즉, 목록이 너무 길면 footer이 표시 될 정도로 멀리 아래로 스크롤하지 않으면 표시되지 않는 지점이 있습니다. 이미지가 항상 표시되도록하려는 경우 (예 : 이미지 뒤에 목록 스크롤이 있으면 다른 접근 방식을 사용해야합니다.

관련 문제