【问题标题】:Changing size of content in HorizontalScrollView when phone is rotated by overriding onConfigurationChanged通过覆盖 onConfigurationChanged 旋转手机时更改 Horizo​​ntalScrollView 中内容的大小
【发布时间】:2010-05-16 12:25:26
【问题描述】:

安卓玩家们好……

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

我的 Horizo​​ntalScrollView 中的内容由一个 LinearLayout(我们称之为 wrapperLayout)和其中的几个 LinearLayouts 组成。当手机旋转时,我只想更改 wrapperLayout 内所有 LinearLayouts 的宽度。当我通过将调整大小代码放入 onInterceptTouchEvent(MotionEvent ev) 来测试调整大小的代码时,这很容易做到并且效果很好,也就是说,当我触摸 Horizo​​ntalScrollView 时,视图会调整大小。

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

有人知道发生了什么吗?当我像这样自己处理 onConfigurationChanged 时,调用了哪些方法,以什么顺序调用?

提前致谢

【问题讨论】:

    标签: android android-linearlayout horizontalscrollview


    【解决方案1】:

    您没有使用视图控制器的方向调用是否有原因。即

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

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

    我认为这可能更容易。

    【讨论】:

    • 对不起,应该澄清一下:这是使用android :)
    猜你喜欢
    • 1970-01-01
    • 2012-03-23
    • 2014-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多