4

我对我的 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)
   }
}

关键是,我不知道这是否可能以及从哪里开始。谁能给我一些在哪里查看甚至更好的示例代码的指示?提前致谢!

编辑:

我添加了一张图片来澄清我的问题。我希望这更有意义!

图片在屏幕中显示按钮的一半 http://niles11.dyndns.org/example.png

如您所见,将按钮放在屏幕一半时看起来很奇怪。我希望按钮位于屏幕底部但(!)当列表视图包含更多项目时我希望它出现在列表视图的底部(所以首先,不在屏幕上)

希望这张图有帮助!

4

3 回答 3

0

我明白你的问题。我有一个理想:你应该inflate最后一个 item(position = array.size) 作为按钮而不是普通的视图项。

于 2012-06-06T08:32:55.697 回答
0

设置ListView heightfill_parent并添加一个Button作为页脚使用addFooterView()

如果您要求仅Button在列表滚动到末尾时显示,那么您可以查看这篇文章并使用逻辑来显示/隐藏页脚视图(即,View.GONE在页脚上设置以隐藏它,View.VISIBLE并展示下)

于 2012-06-06T09:27:19.813 回答
0

如果我没记错的话,你希望你的列表视图在整个屏幕上,下面有一个按钮。使 listview 的高度 match_parent 和 android:layout_margingBottom="somedp" 和按钮 marginTop="-somedp" somedp 在两个地方都应该相同...

于 2012-06-06T09:09:28.933 回答