gpt4 book ai didi

Android:有没有办法让 fill_parent 不缩小以适应 parent 的 parent ?

转载 作者:搜寻专家 更新时间:2023-11-01 07:40:22 25 4
gpt4 key购买 nike

我的 Activity 看起来像这样

| header           |
|------------------|
| ViewGroup |
| that fills |
| the screen |
| |
| centered |
| button |
| |
|------------------|
| footer |

填充屏幕的 View 组是 RelativeLayout 的子项,RelativeLayout 使用 fill_parent 和 layout_below header 以及 layout_above footer 填充屏幕。该 RelativeLayout 下的 ViewGroup 在运行时设置为与 RelativeLayout 相同的宽度和高度。

之所以在运行时设置相同的高度是因为这个 View 组可以用手指向左拖动(类似于Android主屏幕)如果我把它向左拖动就可以了。但是,如果我将它拖到右边,我的 fill_parent 尺寸就会乱七八糟。

| header           |
|------------------|
| ' ViewGroup | '
| ' that fills| '
| ' the screen| '
| ' | '
| ' centered | <-- button not centered. It is only centered on the visible area, not the whole thing
| ' button | '
| ' | '
| ' | '
|------------------|
| footer |

我进行定位的方式是通过设置 ViewGroup 的左边距将其向右移动(或将其设置为负值以将其向左移动)

为什么我不能使用 Horizo​​ntalScrollView

这是android的俯 View

     ' previous ' current  '   next   ' # Three panes that can be dragged to switch between
| | # The android screen bounderies

我计划让用户能够通过左右拖动屏幕转到下一个/上一个。如果用户稍微拖动屏幕并且他/她拖得很慢

        ' previous ' current  '   next   ' 
| |

然后屏幕应该动画回到原位

     ' previous ' current  '   next   ' 
| |

如果用户做的很快

              ' previous ' current  '   next   ' 
| |

然后屏幕应该为剩下的方式设置动画

                ' previous ' current  '   next   ' 
| |

前一个应该成为新的当前,我们应该有一个新的前一个

     ' previous ' current  '   next   ' 
| |

我使用了 ScrollView 我会做这样的事情

     ' previous ' current  '   next   ' 
| |

现在没有空间容纳新的 previous 除非我跳过滚动

     ' previous ' current  '   next   ' 
| |

这对我来说更糟糕。

所以我的选择是

  • AbsoluteLayout(已弃用/不要使用它)
  • RelativeLayout.LayoutParams.setMargins(见下文。这就是我现在正在做的)
  • 编写我自己的 LayoutManager(听起来比实际更容易)
  • 将像素绘制到屏幕上,而不是使用View(DirectDraw 或 OpenGL)
  • Horizo​​ntalScrollView

最佳答案

如果您设置了一个正的左边距,那么您也应该设置一个负的右边距。这允许 ViewGroup 继续离开右侧的屏幕边缘。

关于Android:有没有办法让 fill_parent 不缩小以适应 parent 的 parent ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4755185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com