2012-06-06 319 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