当前位置:   article > 正文

Android学习【8】Android动态更改布局文件_android动态更换布局文件

android动态更换布局文件

在应用程序开发时有时不同的状态需要对应不同的布局文件。其实比较简单,以横屏与竖屏变换为例切换不同的布局文件。

首先,创建一个项目,在Manifest文件中为MainActivity添加configChanges属性如下:

  1. <span style="white-space:pre"> </span><activity
  2. android:name=".MyActivity"
  3. android:label="@string/app_name"
  4. android:configChanges="screenSize|orientation|keyboardHidden">
  5. <intent-filter >
  6. <action android:name="android.intent.action.MAIN" />
  7. <category android:name="android.intent.category.LAUNCHER" />
  8. </intent-filter>
  9. </activity>
添加属性完成后,在screensize,orientation,keyboard等属性改变后,会触发MainActivity中的onConfigurationChanged函数,重写改函数即可。
  1. public void onConfigurationChanged(Configuration newConfig) {
  2. super.onConfigurationChanged(newConfig);
  3. // [ ... Update any UI based on resource values ... ]
  4. if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { //竖屏
  5. // [ ... React to different orientation ... ]
  6. setContentView(R.layout.new_main);
  7. }
  8. if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { //横屏
  9. // [ ... React to different orientation ... ]
  10. setContentView(R.layout.main);
  11. TextView tv = (TextView)findViewById(R.id.test);
  12. tv.setText("hello");
  13. }
  14. if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_NO) {
  15. // [ ... React to changed keyboard visibility ... ]
  16. }
  17. }
在这里,main和new_main是我定义的两个布局文件,这样便实现了横屏与竖屏切换时显示不同布局的功能。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/373135
推荐阅读
相关标签
  

闽ICP备14008679号