各位安卓玩家好...
当手机旋转时,我在调整 HorizontalScrollView 中的内容时遇到问题。我在包含 HorizontalScrollView 的活动中覆盖 onConfigurationChanged,因为我想自己处理调整大小。但是,我在寻找应该调整内容大小的位置时遇到了很大的问题。HorizontalScrollView 它本身具有 FILL_PARENT 作为宽度和固定高度。这个想法是它应该总是按宽度填充屏幕,同时有几个内容单元格,每个单元格都与 HorizontalScrollView 本身一样宽。
我的 HorizontalScrollView 中的内容由一个 LinearLayout(我们称之为 wrapperLayout)和其中的几个 LinearLayouts 组成。当手机旋转时,我只想更改 wrapperLayout 内所有 LinearLayouts 的宽度。当我通过将调整大小代码放入 onInterceptTouchEvent(MotionEvent ev) 来测试调整大小的代码时,这很容易做到并且效果很好,也就是说,当我触摸 HorizontalScrollView 时,视图的大小将被调整。
当我试图找到一个执行调整大小代码的好位置时,就会出现困难,这样当手机旋转时调整大小就会自动发生。我已经尝试了 requestLayout、onSizeChanged、onLayout、onConfigurationChanged 和其他一些可能的组合,并在调整大小代码之前和之后改变了它们对 super(如果有的话)的调用。我无法完成这项工作(即使执行了调整大小的代码,视图也不会调整大小),这真的很令人沮丧。在调用我的调整大小代码之前,我已经做了很多日志记录以确保 HorizonalScrollView 确实改变了宽度,但无济于事。
有没有人知道发生了什么?当我像这样自己处理 onConfigurationChanged 时,会调用哪些方法以及以什么顺序调用?
提前致谢