美文网首页
旋转Screen_Orientation

旋转Screen_Orientation

作者: 天蓝_d82b | 来源:发表于2018-01-12 15:43 被阅读0次

    public class MainActivity extends Activity {

        private Spinner mScreenOrentation;

        private static int[] mOrientationValues = new int[] {

                // 未指定,此为默认值,由Android系统自己选择适当的方向

                ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED,

                // 横屏

                ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE,

                // 坚屏

                ActivityInfo.SCREEN_ORIENTATION_PORTRAIT,

                // 用户当前的首选方向

                ActivityInfo.SCREEN_ORIENTATION_USER,

                // 继承Activity堆栈中当前Activity下面的那个Activity的方向

                ActivityInfo.SCREEN_ORIENTATION_BEHIND,

                // 由物理感应器决定显示方向,它取决于用户如何持有设备,

                ActivityInfo.SCREEN_ORIENTATION_SENSOR,

                // 忽略物理感应器——即显示方向与物理感应器无关,

                ActivityInfo.SCREEN_ORIENTATION_NOSENSOR,

                // 希望Activity在横向屏幕上显示,但是可以根据方向传感器指示的方向来进行改变

                ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE,

                ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT,

                // 希望Activity在横向屏幕上显示,但与正常的横向屏幕方向相反。

                ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE,

                ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT,

                // Activity的方向由方向传感器来决定,显示会根据用户设备的移动情况来旋转。

                ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR,

                // 希望Activity在横向屏幕上显示,但是可以根据用户指定的方向来进行改变

                ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE,

                ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT,

                // Activity的方向由方完全由用户来指定

                ActivityInfo.SCREEN_ORIENTATION_FULL_USER,

                // 锁定当前方向

                ActivityInfo.SCREEN_ORIENTATION_LOCKED };

        @Override

        protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main);

            //找到下拉列表框

            mScreenOrentation = (Spinner) findViewById(R.id.screen_orientation);

            //从资源文件中创建一个适配器,所以要在资源文件中定义数据源。在values目录下新建arrays.xml

            //文件,在arrays文件中准备下拉列表框中要显示的内容

            ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(

                    this, R.array.screen_orientation,

                    android.R.layout.simple_spinner_item);

            //设置下拉列表项的布局文件,使用系统自带的布局文件

            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

            mScreenOrentation.setAdapter(adapter);

            //设置选择监听

            mScreenOrentation.setOnItemSelectedListener(new OnItemSelectedListener() {

                @Override

                public void onItemSelected(AdapterView<?> parent, View view,

                        int position, long id) {

                    //向系统发送设置屏幕方向的请求

                    setRequestedOrientation(mOrientationValues[position]);

                }

                @Override

                public void onNothingSelected(AdapterView<?> parent) {

                    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);

                }

            });

        }

    相关文章

      网友评论

          本文标题:旋转Screen_Orientation

          本文链接:https://www.haomeiwen.com/subject/lfufoxtx.html