2012-06-06 502 views
4

我的Android應用程序需要一個按鈕位於列表的最下端。這是有意完成的,因此用戶必須滾動瀏覽整個列表(可能會看到更多答案)。因此我將該按鈕添加爲listview頁腳。Android:按鈕在列表視圖的底部或屏幕底部

這一切都正常,但在某些情況下,列表太短(只有3-4項),所以按鈕將在屏幕中間左右結束。我想要的是該按鈕位於列表視圖的末尾(因此如果列表中有足夠的項目,用戶只能在向下滾動時看到該按鈕),但是當列表視圖僅包含幾個項目時,該按鈕將自行修復到屏幕的底部。

爲了給我想要的想法:

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最後一項(位置= array.size)作爲一個按鈕,而不是普通的查看項目。

0

如果我沒有錯,你希望你的listview在整個屏幕上用下面的按鈕。 化妝ListView的高度match_parent和android:layout_margingBottom = 「somedp」 和按鈕marginTop = 「 - somedp」 somedp shoulb同樣在這兩個地方...

0

設置ListViewheightfill_parent和使用添加Button作爲頁腳addFooterView()

如果您有隻顯示Button當列表滾動到結束的需求,那麼你可以看看這個帖子,並使用邏輯來顯示/隱藏頁腳視圖(即,在設置View.GONE頁腳來隱藏它,並View.VISIBLE來顯示它)

+1

ListView的高度已經設置爲fill_parent,並且buttonlayout被添加爲頁腳視圖(使用addFooterView())。但是,addFooterView將在最後一項下添加該視圖。因此,如果有10個或更多項目在列表中,那麼一切正常(該按鈕將首先在屏幕外)。但是,當列表中只有3或4個項目時,該按鈕將直接出現在列表視圖的最後一個項目下方,因此該按鈕將出現在屏幕的中途。但是這看起來很醜陋,所以如果listview中沒有足夠的項目,按鈕需要將自己附加到屏幕的按鈕上。 – Niles11

+0

gotcha - 漂亮的截圖。這就是我想要的...使用'RelativeLayout'作爲主視圖,並使用'alignParentBottom'添加'ButtonBar'。然後添加'ListView'與'AlignParentTop'和'layoutAbove'底部'ButtonBar'。這將強制屏幕底部的按鈕,並且列表視圖應始終位於其上方。 – stuckless

+1

是的,但是這意味着即使列表視圖包含很多項目,按鈕總是在底部,不是嗎?這是我的問題。在某些情況下,列表實際上包含很多項目,在這種情況下,按鈕應該位於列表的最後,而不是屏幕的底部。我覺得做到這一點的唯一方法是增加按鈕佈局的頂部填充(已經有一個填充,你可以看到)。但我需要根據列表視圖中的項目數來計算。我不知道該怎麼做。任何其他解決方案是歡迎的課程! – Niles11