你好伙伴Androiders ......
旋转手机时,在调整HorizontalScrollView中的内容时遇到问题。我在包含HorizontalScrollView的活动中重写onConfigurationChanged,因为我想自己处理调整大小。但是,我找到了很大的问题,我应该在哪里调整内容的大小。 HorizontalScrollView它自身的FILL_PARENT为宽度和固定高度。这个想法是它应该总是在宽度方面填充屏幕,同时有几个内容单元格,每个单元格与HorizontalScrollView本身一样宽。
我的HorizontalScrollView中的内容包含一个LinearLayout(让我们称之为wrapperLayout),里面有几个LinearLayout。当手机旋转时,我只想更改wrapperLayout中所有LinearLayouts的宽度。当我通过将调整大小代码放入onInterceptTouchEvent(MotionEvent ev)来测试调整大小代码时,这很容易做到并且工作得很好,也就是说,当我触摸HorizontalScrollView时,视图的大小就像调整大小一样。
当我试图找到执行调整大小代码的好位置时出现困难,以便在手机旋转时自动调整大小。我已经尝试了requestLayout,onSizeChanged,onLayout,onConfigurationChanged和其他一些组合的所有可能组合,并在调整大小代码之前和之后改变了对super(如果有)的调用。我无法使这项工作(即使执行调整大小代码,视图也没有调整大小),这真的令人沮丧。我做了很多日志记录,以确保在调用我的调整大小代码之前HorizonalScrollView确实已经改变了宽度,但是无济于事。
有没有人知道发生了什么?我自己处理onConfigurationChanged时会调用哪些方法以及以什么顺序调用?
提前致谢
答案 0 :(得分:-1)
您是否有理由不使用viewcontroller的方向调用。即。
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
我认为这可能更容易。