2010-05-16 78 views
0

你好老乡Androiders ...更改大小中重写onConfigurationChanged

我有当手机被旋转的Horizo​​ntalScrollView调整内容的问题。我在包含Horizo​​ntalScrollView的活动中覆盖了ConfigurationFhanged,因为我想处理调整自己的大小。但是,我在找到应该放置内容大小的位置时遇到了很大问题。 Horizo​​ntalScrollView自身具有FILL_PARENT作为宽度和固定高度。这个想法是,它应该总是在宽度方向上填充屏幕,同时拥有多个内容单元,每个单元格都与Horizo​​ntalScrollView本身一样宽。

我的Horizo​​ntalScrollView中的内容由一个LinearLayout(让我们称它为wrapperLayout)和其中的几个LinearLayout组成。当电话旋转时,我只是想改变wrapperLayout内所有LinearLayout的宽度。当我通过将调整大小的代码放入onInterceptTouchEvent(MotionEvent ev)来测试调整大小的代码时,这很容易实现,并且效果很好,也就是说,视图的大小与我触摸Horizo​​ntalScrollView时的大小相同。

当我尝试找到一个合适的位置来执行调整大小代码时出现困难,以便在手机旋转时自动调整大小。我尝试过所有可能的requestLayout,onSizeChanged,onLayout,onConfigurationChanged和其他一些组合,并在调整大小代码之前和之后调用super(如果有的话)。我无法完成这项工作(即使执行resize代码,视图也没有调整大小),这真的令人沮丧。我已经做了很多日志记录,以确保Horizo​​nalScrollView在调用我的调整大小代码之前确实已经改变了宽度,但无济于事。

有没有人对发生了什么有任何线索?当我像这样处理onConfigurationChanged时,调用什么方法以及按什么顺序?

在此先感谢

回答

-1

是否有您没有使用viewcontroller的方向调用的原因。即

// Override to allow orientations other than the default portrait orientation. 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

我想这可能是更容易。

+0

对不起,应该澄清一下:这是使用android :) – 2010-05-16 12:37:54