打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Android横竖屏切换小结

标签:

Android手机或平板都会存在横竖屏切换的功能,通常是由物理重力感应触发的,但是
有时候也不尽然,通常在设置里面我们可以对手机的横竖屏切换进行关闭。

AndroidManifest.xml

<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" />
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.yanlei.yl7" >    <!-- Include required permissions for Google Mobile Ads to run. -->    <uses-permission android:name="android.permission.INTERNET" />    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>    <application        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <!-- This meta-data tag is required to use Google Play Services. -->        <meta-data            android:name="com.google.android.gms.version"            android:value="@integer/google_play_services_version" />        <activity            android:name=".MainActivity"                  android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity> <!-- Include the AdActivity configChanges and theme. -->        <activity            android:name="com.google.android.gms.ads.AdActivity"            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"            android:theme="@android:style/Theme.Translucent" />    </application></manifest>

  

activity_main.xml

<RelativeLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    >    <Button        android:id="@+id/button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="获取Configuration信息"        android:textSize="25sp"        android:layout_marginTop="80dip"        android:layout_centerHorizontal="true"        />    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="测试ConfigurationChange"        android:textSize="25sp"        android:layout_centerInParent="true"        android:id="@+id/mytext" /></RelativeLayout>

MainActivity.java

package com.example.yanlei.yl7;import android.content.res.Configuration;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    private Button mButton;    private TextView pTextView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        pTextView=(TextView)this.findViewById(R.id.mytext);        System.out.println("---> onCreate()");        init();    }    private void init() {        mButton = (Button) findViewById(R.id.button);        mButton.setOnClickListener(new ClickListenerImpl());    }    private class ClickListenerImpl implements OnClickListener {        @Override        public void onClick(View v) {            getConfigurationInfo();        }    }    private void getConfigurationInfo() {        Configuration configuration = getResources().getConfiguration();        //获取屏幕方向        int l = configuration.ORIENTATION_LANDSCAPE;        int p = configuration.ORIENTATION_PORTRAIT;        if (configuration.orientation == l) {            pTextView.setText("现在是横屏====");            System.out.println("现在是横屏");        }        if (configuration.orientation == p) {            pTextView.setText("现在是竖屏===");            System.out.println("现在是竖屏");        }    }    @Override    public void onConfigurationChanged(Configuration newConfig) {        super.onConfigurationChanged(newConfig);        //newConfig.orientation获得当前屏幕状态是横向或者竖向        //Configuration.ORIENTATION_PORTRAIT 表示竖向        //Configuration.ORIENTATION_LANDSCAPE 表示横屏        if(newConfig.orientation==Configuration.ORIENTATION_PORTRAIT){            pTextView.setText("现在是竖屏");            Toast.makeText(MainActivity.this, "现在是竖屏", Toast.LENGTH_SHORT).show();        }        if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){            pTextView.setText("现在是横屏");            Toast.makeText(MainActivity.this, "现在是横屏", Toast.LENGTH_SHORT).show();        }    }    @Override    protected void onSaveInstanceState(Bundle outState) {        super.onSaveInstanceState(outState);        outState.putString("name", "zxx");        outState.putInt("id", 9527);        System.out.println("---> onSaveInstanceState()");    }    @Override    protected void onRestoreInstanceState(Bundle savedInstanceState) {        super.onRestoreInstanceState(savedInstanceState);        String name = savedInstanceState.getString("name");        int id = savedInstanceState.getInt("id");        System.out.println("---> onRestoreInstanceState()");        System.out.println("名字=" + name + ",编号=" + id);    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.menu_main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }}

 



Android横竖屏切换小结

标签:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Android Orientation Sensor(方向传感器)详解与应用
3.6 响应系统设置的事件(Configuration类)
Android 屏幕旋转适配全解析
android横竖屏总结
Android开发实践:屏幕旋转的处理
android中fragment与activity之间通信原理以及例子
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服