当android屏幕旋转时执行一项新任务

时间:2011-04-08 10:59:11

标签: android

我在android中创建了表视图。在稳定的Android屏幕上它看起来像5列并且相关的数据... 但我想在android旋转时添加另外3列...这可能吗? 如何??

提前感谢...

2 个答案:

答案 0 :(得分:1)

旋转设备时,活动将重新启动。您可以保存当前状态(如果需要),只需在旋转时检查oncreate。

然后您可以添加(或删除)列。

您还可以查看onConfigurationChanged。像这样:

@Override
public void onConfigurationChanged(Configuration newConfig) {
  super.onConfigurationChanged(newConfig);
  yourFunctionThatDoesColumnMagic();
}

请务必在manifest.xml中添加代码,以便在更改时不重新启动。

android:configChanges="keyboardHidden|orientation"

评论中提出了一个很好的观点:你确实可以创建一个layout-land xml,但是请记住,当上述某个方法发生变化时,你仍然需要再次调用setContentView()

答案 1 :(得分:1)

如果您想修复特定活动的横向视图,那么您已将android:screenOrientation =“landscape”添加到您的清单文件中。

例如:

activity android:name=".Classname" android:screenOrientation="landscape" 

========================

and if u want to do diffrent in Landscape or Portrait view thn u have to use
following into starting of ur onCreate() method.

if (this.getResources (). getConfiguration (). orientation == Configuration.ORIENTATION_LANDSCAPE) {

              //== add view or action u want to perform

}
else if (this.getResources (). getConfiguration (). orientation == Configuration.ORIENTATION_PORTRAIT){

            //== add view or action u want to perform
}

...没关系!!