方向更改并在android中手动处理ConfingurationChanges

时间:2013-01-04 06:48:53

标签: android configuration orientation

在这里,我为方向肖像和风景开发了一个Android应用程序。因此,我为Landscape和Portrait创建了两个布局文件夹,并为Portrait创建了两个layout.xml文件,第二个用于Landscape。在纵向layout.xml文件中有一个ImageView和In Landscape layout.xml文件有两个ImageView。在AndroidManifest.xml中,我在android:configChanges="keyboard|orientation"条目中设置参数<activity>以停止在方向更改上重新创建活动。在我的活动中,我覆盖onConfigurationChanges(),如下所示

 public void onConfigurationChanged(Configuration newConfig) 
 {
    try
    {
        // TODO Auto-generated method stub
        super.onConfigurationChanged(newConfig);

        Toast.makeText(myContext, " Config Changed ", 1000).show();

        setContentView(R.layout.double_pageread_layout);

        setLayout();  // Initialize Controls (Buttons, ImageView,etc..)
    }
    catch (Exception ex) 
    {
        ex.printStackTrace();
    }
}

但问题是当我运行我的应用程序时。我可以看到它是完美的但是当我改变方向时它不显示任何东西。

请帮助我。

先谢谢。

1 个答案:

答案 0 :(得分:1)

您无需通过处理配置更改来手动更改布局。只需将两个不同的layout.xml文件放入res/layoutres/layout-port文件夹,Android就会在旋转时自动为正确的文件充气。