1.AndroidMenifest.xml里面的activity需要如下配置使其横竖屏切换时不会重启整个activtiy:

                                                            

2.分别写横竖屏的布局文件:

activity_main_horizontal.xml

<?xml version="1.0" encoding="utf-8"?>     

activity_main_vertical.xml

<?xml version="1.0" encoding="utf-8"?>     

3.在activity中实现对应的加载逻辑:

MainActivity.java

import android.content.res.Configuration;import android.graphics.Color;import android.os.Bundle;import android.widget.TextView;import androidx.appcompat.app.AppCompatActivity;import com.example.my2048.Utils.LogUtil;public class MainActivity extends AppCompatActivity {    private TextView textView = null;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        if (getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE){            //如果是横屏了,在这里设置横屏的UI            LogUtil.d("onCreate activity_main_horizontal");            setContentView(R.layout.activity_main_horizontal);        }else{            //否则,在这里设置竖屏的UI            LogUtil.d("onCreate activity_main_vertical");            setContentView(R.layout.activity_main_vertical);        }        setViews();        initData();    }    private void initData() {        textView.setTextColor(Color.RED);    }    private void setViews() {        textView = findViewById(R.id.text);    }    @Override    public void onConfigurationChanged(Configuration newConfig) {        if (newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){            //如果是横屏了,在这里设置横屏的UI            LogUtil.d("onConfigurationChanged activity_main_horizontal");            setContentView(R.layout.activity_main_horizontal);        }else{            //否则,在这里设置竖屏的UI            LogUtil.d("onConfigurationChanged activity_main_vertical");            setContentView(R.layout.activity_main_vertical);        }        setViews();        initData();        super.onConfigurationChanged(newConfig);    }}

4.实现效果:

 

更多相关文章

  1. android 设置桌面背景
  2. Android中万能适配器
  3. Android(安卓)Uri
  4. Android(安卓)Studio(十):添加assets目录
  5. Android(安卓)下拉刷新控件SwipeRefreshLayout结合WebView使用
  6. Android中imageView图片放大缩小及旋转功能示例代码
  7. android app启动动画的实现
  8. Android中PopupWindow用法
  9. 浅谈Java中Collections.sort对List排序的两种方法

随机推荐

  1. Android(安卓)textview 跑马灯 要加的属
  2. Android:相对位置排版
  3. android系统自带样式Android:theme
  4. Android(安卓)SDK Android(安卓)NDK Andr
  5. Android系统自带样式Android:theme
  6. Android系统自带样式(android:theme)
  7. android 系统自带的图标
  8. Android(安卓)Theme
  9. android中xml文件注意事项
  10. android:theme & android:style