`
buddie
  • 浏览: 185325 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

转屏时更换布局

阅读更多

Activity:

在程序启动时,先获得当前屏幕的状态,并设置相应的布局文件。

public void onCreate(Bundle savedInstanceState) {
    	super.onCreate(savedInstanceState); 
		requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); //注意顺序
		Configuration newConfig=getResources().getConfiguration();//获取当前应用配置
        if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){    
            //横屏   
            setContentView(R.layout.main_h);    
        }else{    
            //竖屏
            setContentView(R.layout.main);    
        }   
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.title);  //注意顺序
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
...

 在程序运行时,当屏幕状态发生改变时,更改布局文件。

//重写 onConfigurationChanged方法,防止转屏时Activity被销毁重建
public void onConfigurationChanged(Configuration newConfig) {
		super.onConfigurationChanged(newConfig);
		LinearLayout mainL=(LinearLayout)findViewById(R.id.mainLL);
		if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
			//横屏
			setContentView(R.layout.main_h);
		} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
			//竖屏
			setContentView(R.layout.main);
		}
	}

 最后修改一下AndroidManifest.xml中Activity的配置,给目标Activity加上下面这条属性:

android:configChanges="orientation|keyboardHidden"
 

 

分享到:
评论

相关推荐

    TIA博途中触摸屏TP1200更换为TP900时,画面超出界面的处理办法.docx

    在实际应用中,有时由于设备更新或者需求变更,我们需要将触摸屏型号进行替换,例如将TP1200更换为TP900。然而,这种替换可能会导致一些问题,如本文档标题所述,画面超出新的触摸屏界面。以下是一些处理这种问题的...

    威纶通触摸屏如何打开并升级EB8000旧版本项目并更换触摸屏型号?.rar

    - 更换触摸屏型号时,要注意新屏幕的分辨率是否与旧屏幕相同。不同分辨率可能需要重新设计界面布局。 - 对于复杂的项目,升级过程可能涉及到大量的手动调整,需要耐心和细致的工作。 - 若遇到无法解决的问题,...

    android侧边栏的滑动,以及实现启动另外的Activity与更换布局

    本篇文章将重点讲解如何实现Android侧边栏的滑动效果,以及在侧边栏点击后如何启动新的Activity或更换布局。 首先,我们来理解侧边栏的基本结构。侧边栏通常是一个自定义View,包含一个ListView或者RecyclerView,...

    点击屏幕更换图片例子源码.zip

    在Android开发中,实现点击屏幕更换图片的功能是一个常见的需求,比如在各种应用的用户界面或者游戏场景中。这个"点击屏幕更换图片例子源码.zip"包含了一个简单的示例项目,帮助开发者理解如何在Android中处理用户的...

    android 多屏切换

    1. **布局设计**:在XML布局文件中,可以通过使用`<merge>`标签、`<include>`标签或者`<ViewStub>`来实现动态加载不同的布局,以便在切换时只显示所需的部分。此外,可以使用`<GridLayout>`、`<LinearLayout>`等布局...

    Android 点击屏幕更换图片源码.rar

    在Android开发中,点击屏幕更换图片是一个常见的需求,比如在制作动态壁纸、互动式应用或者游戏时。这个"Android点击屏幕更换图片源码"提供了一个示例,可以帮助开发者理解和实现这一功能。源码通常包含了一个完整的...

    Android 点击屏幕更换图片源码.zip

    这篇教程将介绍如何在Android应用中实现点击屏幕更换图片的功能,通过分析提供的源码和相关文件,我们可以深入理解这一过程。 首先,让我们了解基础概念。Android是一个开源的操作系统,主要用于移动设备,如智能...

    安卓Android源码——点击屏幕更换图片源码.zip

    在安卓(Android)平台上开发应用时,我们经常会遇到需要实现点击事件来改变界面元素的状态,例如点击屏幕更换图片。这个"安卓Android源码——点击屏幕更换图片源码.zip"就是一个典型的示例,它包含了实现这一功能的...

    Android 列表布局切换网格布局

    1. **动态更换布局**:可以使用ViewGroup的removeAllViews()方法清空当前布局,然后根据需求动态添加ListView或GridLayout的视图实例。 2. **切换适配器**:在切换布局时,可能需要更换对应的Adapter,例如从...

    行业文档-设计装置-车载多媒体中控更换屏幕框架.zip

    该系统通常包括硬件部分(如显示屏、处理器、存储器、输入设备等)和软件部分(操作系统、应用软件、用户界面等)。更换屏幕框架主要涉及硬件的更新和软件的适配。 1. **硬件选型**:选择合适的屏幕框架需考虑多个...

    Android源码——点击屏幕更换图片源码_new_56.zip

    9. **布局更新**:当图片更换后,可能需要更新布局以适应新的图片尺寸,可以使用`requestLayout()`或`invalidate()`来刷新视图。 10. **编程模式**:为了使代码结构清晰,可以采用MVP(Model-View-Presenter)或...

    安卓开发 点击屏幕更换背景图片

    在布局文件(如activity_main.xml)中,我们可以设置一个全屏的ImageView作为背景,如下: ```xml android:id="@+id/iv_background" android:layout_width="match_parent" android:layout_height="match_parent...

    Android 点击屏幕更换图片源码-IT计算机-毕业设计.zip

    更换图片时,需要动态地改变ImageView的`setImageResource()`方法的参数。 5. **生命周期管理**: Android应用的Activity有明确的生命周期,开发者需要在特定的方法中进行必要的操作,如onCreate()加载初始数据,...

    双屏桌面对线调整程序

    在"更换桌面"这个文件名称中,我们可以推测这个程序可能还包含更换壁纸或设定不同显示器独特背景的功能。用户可以为每个屏幕设置个性化的壁纸,或者统一设定以保持专业形象。 总而言之,"双屏桌面对线调整程序"是...

Global site tag (gtag.js) - Google Analytics