2012-06-06 2 views
4

내 안드로이드 응용 프로그램에 버튼이 목록 하단에 있어야한다는 요구 사항이 있습니다. 이는 사용자가 전체 목록을 스크롤하여 (더 많은 답변을 볼 수 있도록) 의도적으로 수행됩니다. 따라서 버튼을 listview 푸터로 추가했습니다.안드로이드 : 목록보기 끝에 또는 화면 하단에

이 모든 것이 정상적으로 작동하지만 목록이 너무 짧아서 (단 3-4 개의 항목 만 표시됨) 버튼이 화면 중간에 위치하게됩니다. 내가 원하는 것은 버튼이 listview의 끝에 있다는 것입니다 (목록에 충분한 항목이 있다면 사용자는 스크롤 할 때만 버튼을 볼 수 있습니다). 그러나 목록보기에 몇 개의 항목 만 있으면 버튼이 스스로 수정됩니다 화면 맨 아래로 그것이 가능하고 어디서부터 시작하는 경우

이 요점은
onCreate() { 
    if (button.getyposition() > screen.getyposition()) { // example methodnames! 
     // Button at the bottom of the listview (many items) 
    } 
    else { 
     // Button at the bottom of the screen (few items in listview) 
    } 
} 

, 나도 몰라 :

내가 원하는 아이디어를 제공합니다. 누구든지 샘플 코드를 보거나 더 나은 방향으로 안내해 줄 수 있습니까? 미리 감사드립니다!

편집 :

나는 내 문제를 명확히하기 위해 사진을 추가했습니다. 이것이 더 의미가 있기를 바랍니다. 당신이 볼 수 있듯이

Picture showing the button halfway on the screen http://niles11.dyndns.org/example.png

, 그것은 화면의 버튼을 반쯤 꽤 이상한 보인다. 나는 버튼이 화면 하단에 있기를 원하지만 목록보기에 더 많은 항목이 들어있을 때 목록보기의 맨 아래에 나타나길 원한다. (처음에는 화면 밖에있다.)

희망이 그림이 도움이된다. !

+0

아래 답변 중 하나를 사용하여 해결하셨습니까? 사용했던 답변으로 표시하십시오. 상태가 아니라면? – Siddhesh

+0

@Siddhesh 내 문제를 좀 더 명확히하기 위해 내 게시물을 편집했습니다. 나는 그것이 도움이되기를 바랍니다. – Niles11

답변

0

문제를 이해합니다. 나는 이상이있다 : 당신은 inflate 마지막 항목 (position = array.size)을 보통의보기 항목 대신에 버튼으로해야한다.

0

내가 틀리면 아래 버튼으로 전체 화면에서 목록보기를 원할 것입니다. 메이크업 목록보기의 높이 match_parent 및 안드로이드 : layout_margingBottom = "somedp" 과에 대한 버튼 marginTop = "- somedp"somedp shoulb 모두 같은 장소에 ...

0
ListView height fill_parent로 설정

및 사용하여 바닥 글로 Button를 추가 당신이 목록은 끝으로 스크롤 할 때 당신은 단지 Button을 보여 요구 사항이있는 경우 addFooterView()

, 당신은이 게시물을보고 표시/바닥 글보기를 숨길 논리를 사용할 수 있습니다 (즉,에 View.GONE을 설정 바닥 글을 숨기려면 View.VISIBLE 표시)

+1

ListView의 높이는 이미 fill_parent로 설정되어 있으며 buttonlayout은 footer 뷰로 추가됩니다 (addFooterView() 사용). 그러나 addFooterView는 마지막 항목 바로 아래에 해당보기를 추가합니다. 예를 들어, 10 개 이상의 항목이 목록에 있으면 모든 것이 정상입니다 (버튼은 처음에는 화면에서 벗어납니다). 그러나 목록에 3 ~ 4 개의 항목 만 있으면 버튼이 목록보기의 마지막 항목 바로 아래에 나타나므로 단추가 화면의 중간에 나타납니다. 그러나보기에는보기가 좋지 않으므로 목록보기에 항목이 충분하지 않으면 버튼이 화면의 엉덩이에 붙어 있어야합니다. – Niles11

+0

gotcha - 좋은 스크린 샷. 내가 시도 할게있어.메인 뷰에는'RelativeLayout'을 사용하고'alignParentBottom'을 사용하여'ButtonBar'를 추가하십시오. 그런 다음'ListView'에'AlignParentTop'과'layoutAbove' 밑에'ButtonBar'를 추가하십시오. 이렇게하면 화면 하단에 버튼이 나타나며 목록보기가 항상 위에 있어야합니다. – stuckless

+1

예, 그렇다고해도 목록에 많은 항목이 포함되어 있어도 단추가 항상 맨 아래에 있다는 의미일까요? 그게 내 문제 야. 경우에 따라 목록에 실제로 많은 항목이 포함되어 있으며이 경우 버튼은 화면 맨 아래가 아니라 목록의 맨 끝에 있어야합니다. 그럴 수있는 유일한 방법은 단추 레이아웃의 위쪽 패딩을 늘리는 것입니다 (이미 보았 듯이 패딩이 있습니다). 하지만 목록 뷰의 항목 수에 따라 계산해야합니다. 그리고 어떻게 해야할지 모르겠습니다. 다른 솔루션도 환영합니다! – Niles11

관련 문제