自动切换横竖屏屏幕

原创 2016年06月01日 17:06:39

自动切换横竖屏

<activity
            android:name="com.bzu.test059click.HVActivity"
            android:label="@string/title_activity_hv"
            <strong>android:configChanges = "orientation|screenSize"</strong>><!-- 添加这条命令才能实现屏幕转向的时候调用横竖屏方法 -->

要实现横屏和竖屏的自动切换功能比必须需要两个布局文件:

修改activity_hv.xml文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".HVActivity" >

    <TextView
        android:id="@+id/TvHV"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="我是纵向布局" />

</LinearLayout>

新建一个横向布局文件horizontal.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/TvH"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="我是横向布局" />

</LinearLayout>

修改HVActivity.java文件,如下:


import android.os.Bundle;
import android.app.Activity;
import android.content.res.Configuration;
import android.view.Menu;
import android.widget.Toast;

public class HVActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_hv);
	}

	/*屏幕旋转式调用的方法*/
	@Override
	public void onConfigurationChanged(Configuration newConfig) {
		super.onConfigurationChanged(newConfig);
		//通过当前切换后的屏幕的方向,设置不同的显示视图,当前屏幕状态是否为数向
		if(newConfig.orientation==Configuration.ORIENTATION_PORTRAIT){
			//当竖屏的时候提示
			Toast.makeText(HVActivity.this, "竖屏", Toast.LENGTH_SHORT).show();
			//设置当前页面的布局视图为activity_hv.xml
			setContentView(R.layout.activity_hv);
		}else if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){
			//当横屏的时候提示横屏
			Toast.makeText(HVActivity.this, "横屏", Toast.LENGTH_SHORT).show();
			setContentView(R.layout.horizontal);//设置为横向自定义的屏幕
		}
	}
	
}





版权声明:本文为博主原创文章,未经博主允许不得转载。

ios autolayout进阶教程,实现视频播放时,横竖屏的自动切换-适配iOS8 sizeClass 和之前的版本

相信有视频播放功能的项目中,同行们在做的时候肯定多少会被横竖屏切换播放界面给折磨的欲仙欲死的。 不过有了autolayout 这一切将变的非常容易,特别是今年出的iOS8 ,又增加了一个sizeCla...
  • myfei2
  • myfei2
  • 2014年12月02日 14:32
  • 1512

【安卓学习之常见问题】 多国语言横竖屏时,自动切换到默认语言(android:configChanges的使用)

█ 问题重现: ● 手机系统语言设置为中文  ● 启动app,app显示中文  ● 在app中设置app的语言为其他国家语言,如英文:    ● 界面: ...

Android视频播放手动切换和自动切换横竖屏冲突问题

在开发过程中,应该有很多小伙伴都遇到过视屏播放的时候,横竖屏切换问题。主要表现是:手动点击切换成横屏或者竖屏之后 手机屏幕便不再受重力感应的驱使了....即是你已经在Manifest.xml中设...

android横竖屏切换和自适应屏幕

  • 2013年12月10日 17:59
  • 523KB
  • 下载

解决Android手机屏幕横竖屏切换

  • 2011年11月17日 20:09
  • 53KB
  • 下载

解决Android手机 屏幕横竖屏切换

Android中当屏幕横竖屏切换时,Activity的生命周期是重新加载(说明当前的Activity给销毁了,但又重新执行加载),怎么使屏幕横竖屏切换时,当前的Activity不销毁呢? 1. 在A...

iOS开发—应用屏幕横竖屏切换设置

ios6.0以后横竖屏切换的设置
  • Lotheve
  • Lotheve
  • 2015年03月09日 18:25
  • 1485

解决Android手机 屏幕横竖屏切换

Android中当屏幕横竖屏切换时,Activity的生命周期是重新加载(说明当前的Activity给销毁了,但又重新执行加载),怎么使屏幕横竖屏切换时,当前的Activity不销毁呢? 1. ...

解决Android手机 屏幕横竖屏切换

Android中当屏幕横竖屏切换时,Activity的生命周期是重新加载(说明当前的Activity给销毁了,但又重新执行加载),怎么使屏幕横竖屏切换时,当前的Activity不销毁呢? 1. ...
  • sunylat
  • sunylat
  • 2014年12月14日 19:42
  • 1365
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自动切换横竖屏屏幕
举报原因:
原因补充:

(最多只允许输入30个字)