Android 应使用哪种布局来显示“a”;页脚“;取决于屏幕的其他内容
首先,我为标题道歉。我想了很久,很难选择一个更具描述性的标题,但真的找不到 我有一个屏幕,有一个标题(可变长度-使用滑动动作条)、一个中间部分(滚动视图)和一个用于显示广告的底部部分(固定长度)。我能够使用RelativeLayout编写屏幕,但我真正想做的是:Android 应使用哪种布局来显示“a”;页脚“;取决于屏幕的其他内容,android,Android,首先,我为标题道歉。我想了很久,很难选择一个更具描述性的标题,但真的找不到 我有一个屏幕,有一个标题(可变长度-使用滑动动作条)、一个中间部分(滚动视图)和一个用于显示广告的底部部分(固定长度)。我能够使用RelativeLayout编写屏幕,但我真正想做的是: 如果scrollview的内容(中间部分)不够长,无法填满屏幕(包括标题),我想在屏幕底部显示广告 如果scrollview的content+标题比屏幕长,我想在scroll view的内容下面显示广告,这意味着除非用户滚动到片段的底
- 如果scrollview的内容(中间部分)不够长,无法填满屏幕(包括标题),我想在屏幕底部显示广告
- 如果scrollview的content+标题比屏幕长,我想在scroll view的内容下面显示广告,这意味着除非用户滚动到片段的底部,否则广告不可见李>
事先非常感谢,我认为没有这样的布局。您可以通过编程方式完成此操作。
ScrollView
始终只有一个子视图,因此您可以通过以下方式获取内容高度:
int contentHeight = scrollView.getChildAt(0).getHeight();
你可以用这种方法得到窗户的高度
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int windowHeight = size.y;
页眉和页脚的高度是固定的,因此您可以通过数学计算来决定页脚的放置位置
int totalHeight = heaederHeight + contentHeight + footerHeight
if(totalHeight < windowHeight) {
// add the footer to the scrollview
} else {
// add the footer below the scrollview
}
int totalHeight=heaederHeight+contentHeight+footerhight
if(总高度<窗高度){
//将页脚添加到滚动视图
}否则{
//在滚动视图下添加页脚
}
这种方法的缺点是你必须手动完成所有的工作
我希望这对您有所帮助:)谢谢Kiril的及时回复。让我检查一下解决方案,然后再与您联系。实际上,
fillViewport
属性就是为此而设计的。请参阅Romain Guy的博客文章:可能重复@corsair992谢谢。这就是我想要的。我不知道你是否可以把它作为答案,因为它是重复的,但如果你可以,请这样做,我可以接受你的答案,并给你你的赏金:)。再次感谢大家。否则我永远也找不到这个问题。我把它标记为版主关闭的副本,并退还奖金(只有版主可以关闭奖金问题),但还没有人找到它。我对收集赏金不感兴趣,但是如果你喜欢,你可以发布一个自我回答并接受它。