简要描述我想要的:
GUI包含两个TextVIEw和四个按钮.
四个按钮将水平布置,全部在同一行中,并固定在屏幕的右下角.
两个TextVIEw中的第一个是从屏幕顶部开始,文本内容从一行到数十行不同,而不会滚动屏幕.因此,有时需要滚动以查看所有内容.即使需要滚动,按钮也不会参与滚动:它们始终保持固定在屏幕右下角的一行中.当需要滚动时,滚动文本始终位于按钮之上 – 按钮不覆盖文本.
两个TextVIEw中的第二个将立即显示在第一个TextVIEw的下方,通常只能在文本的总长度上添加一行或两行.当需要滚动时,第二个TextVIEw将与第一个TextVIEw一起滚动,始终显示在第一个TextVIEw的正下方.
其他约束包括:我希望布局在所有以下AndroID设备上看起来都不错,包括垂直和水平屏幕布局:
> AndroID 1.5 API3 QVGA MDPI(320×240)设备
> AndroID 1.5 API3 HVGA MDPI设备
> AndroID 1.6 API4 QVGA LDPI设备
> AndroID 2.3 API10 WVGA800设备
>所有与上述设备之间的屏幕
我会再担心平板电脑(如明天).
–
我已经尝试了很多不同的布局组合,但没有任何事情已经非常接近目标.
(有了我尝试的一些布局组合,我可以用relativeLayout修复屏幕左下角的按钮,但是我尝试使用scolling文本的所有东西总是导致按钮后面的文本滚动 – 按钮覆盖文本.我没有想到让按钮与右下角对齐.)
如果有人帮我解决这个问题,下面的布局示例xml是一个会话开始点,但是肯定无法实现目标结果,如下面的屏幕截图所示,使用相同的布局示例xml生成. (虽然一些屏幕截图显示同样的问题,但是它们可以帮助我显示不同屏幕的位置.)
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="vertical" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content"> <ScrollVIEw androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content"> <linearLayout androID:orIEntation="vertical" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content"> <TextVIEw androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:text="Text VIEw 1. Text varIEs from a few lines to many more lines than what fits on the screen. Scrolling is necessary to see it all." /> <TextVIEw androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:text="Text VIEw 2. Short text entry sits below Text VIEw 1." /> </linearLayout> </ScrollVIEw> <linearLayout androID:orIEntation="horizontal" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content"> <button androID:ID="@+ID/button_1" androID:layout_height="fill_parent" androID:layout_wIDth="wrap_content" androID:text="button 1" /> <button androID:ID="@+ID/button_2" androID:layout_height="fill_parent" androID:layout_wIDth="wrap_content" androID:text="button 2" /> <button androID:ID="@+ID/button_3" androID:layout_height="fill_parent" androID:layout_wIDth="wrap_content" androID:text="button 3" /> <button androID:ID="@+ID/button_4" androID:layout_height="fill_parent" androID:layout_wIDth="wrap_content" androID:text="button 4" /> </linearLayout></linearLayout>
1.5_API3_HVGA_Horizontal_MDPI – short_text:
问题:按钮应与屏幕右下方对齐.
–
1.5_API3_HVGA_Vertical_MDPI – short_text:
问题:按钮应与屏幕右下方对齐.
–
1.5_API3_QVGA_240x320_MDPI – short_text:
问题:第四个按钮被砸了.首选三个按钮的文字需要包装,留下足够的空间显示第4个按钮.
–
1.5_API3_QVGA_320x240_MDPI – short_text:
问题:按钮应与屏幕右下方对齐.
–
1.6_API4_QVGA_Horizontal_LDPI – long_text:
问题:当文本几乎填满屏幕时,该行的按钮被破坏.按钮的一行不应该被砸碎,应该被固定在屏幕的右下方.文本应该滚动按钮上方.
–
1.6_API4_QVGA_Horizontal_LDPI – short_text:
问题:按钮应与屏幕右下方对齐.
–
1.6_API4_QVGA_Horizontal_LDPI – very_long_text,scrollbar在顶部:
问题:按钮不在屏幕上.它们应该固定在屏幕的右下角.
–
1.6_API4_QVGA_Horizontal_LDPI – very_long_text,底部的滚动条:
问题:按钮无法找到,尽管文本滚动条位于底部.它们应该固定在屏幕的右下角.
–
1.6_API4_QVGA_Vertical_LDPI – short_text:
问题:按钮应与屏幕右下方对齐.
–
任何建议?
–
附加信息:当我尝试使用relativeLayout,并修复屏幕底部的按钮与androID:layout_alignParentBottom =“true”,那么我的问题是,我不知道如何修复滚动视图的底部与按钮顶部.使用androID:layout_alignBottom =“@ ID / buttons”只是将滚动视图的底部与按钮的底部对齐,但是这些按钮覆盖文本,如下所示:
–
更新:将按钮固定到右下方的问题,按钮上方的滚动文本已解决.
这是改变的布局XML,到目前为止(粘贴更多的文本到文本视图1,如果你想看到滚动):
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="vertical" androID:layout_wIDth="fill_parent" androID:layout_height="fill_parent"> <ScrollVIEw androID:layout_wIDth="fill_parent" androID:layout_height="0dp" androID:layout_weight="1"> <linearLayout androID:orIEntation="vertical" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content"> <TextVIEw androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:text="Text VIEw 1. Text varIEs from a few lines to many more lines than what fits on the screen. Scrolling is necessary to see it all." /> <TextVIEw androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:text="Text VIEw 2. Short text entry sits below Text VIEw 1." /> </linearLayout> </ScrollVIEw> <linearLayout androID:orIEntation="horizontal" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:gravity="right"> <button androID:ID="@+ID/button_1" androID:layout_height="fill_parent" androID:layout_wIDth="wrap_content" androID:text="button 1" /> <button androID:ID="@+ID/button_2" androID:layout_height="fill_parent" androID:layout_wIDth="wrap_content" androID:text="button 2" /> <button androID:ID="@+ID/button_3" androID:layout_height="fill_parent" androID:layout_wIDth="wrap_content" androID:text="button 3" /> <button androID:ID="@+ID/button_4" androID:layout_height="fill_parent" androID:layout_wIDth="wrap_content" androID:text="button 4" /> </linearLayout></linearLayout>
我有一个剩下的问题,我会发布一个新的问题.
解决方法 将ScrollVIEw的layout_height设置为0dp,并将其layout_weight设置为1.这应该将按钮按到屏幕的底部,但不再进一步. 总结以上是内存溢出为你收集整理的android – 滚动文本上方的按钮,按钮固定在底部全部内容,希望文章能够帮你解决android – 滚动文本上方的按钮,按钮固定在底部所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)