Android安卓——页面翻转(横屏、竖屏)功能代码

来源:互联网 发布:网络出版物是什么 编辑:程序博客网 时间:2024/06/16 09:16

此处给出的是简单的设置横屏竖屏的代码。

一、简介

  • 当系统运行时可能会修改系统配置,例如屏幕方向和语言等等,一般系统会重启正在运行的activity(destroy->create),加载候选资源适应新配置。
  • 可以通过配置避免重启,此时可以监听系统设置的更改,重写Activity的onConfigurationChanged方法,该方法是一个基于回调的事件处理方法。当系统设置发生更改时,该方法会被自动触发。
  • 为了在程序中动态地更改系统设置,我们可调用Activity的setRequestedOrientation(int)方法来修改屏幕的方向。
  • 使用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)方法
  • 一般系统会对Activity进行重启(Destroy->Create)
  • 避免重启,提升性能,则可声明 Activity 将自行处理配置变更
<activity android:configChanges="orientation|screenSize"">
  • Activity 会收到对 onConfigurationChanged() 的调用
  • 对Activity 运行方向的硬性要求:android:screenOrientation=”portrait”
public class TelActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_tel);        Log.d(TelActivity.class.toString(),"onCreate");    }    @Override    protected void onDestroy() {        super.onDestroy();        Log.d(TelActivity.class.toString(),"onDestroy");    }    //android:configChanges="orientation|screenSize"    public void RotateL(View view){        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);    }    public void RotateP(View view){        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);    }    @Override    public void onConfigurationChanged(Configuration newConfig) {        super.onConfigurationChanged(newConfig);        Log.d(TelActivity.class.toString(),"onConfigurationChanged");    }}
阅读全文
0 0
原创粉丝点击