美文网首页
Android横竖屏布局适配

Android横竖屏布局适配

作者: Provider | 来源:发表于2022-06-13 15:36 被阅读0次
效果图
方案一竖屏.png
方案一横屏.png
方案二竖屏.png
方案二横屏.png
方案一:不重走生命周期

Activity代码

public class ScreenChangeActivity extends FragmentActivity {

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

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {//当切换为横屏时,显示横屏的布局
            setContentView(R.layout.activity_screen_change_landscape);
        } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {//当切换为竖屏时,显示竖屏的布局(默认竖屏的布局)
            setContentView(R.layout.activity_screen_change_portrait);
        }
    }

}

竖屏布局代码

<?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:background="#FBBC05"
    android:gravity="center"
    android:orientation="vertical">

    <TextView
        android:layout_width="200dp"
        android:layout_height="100dp"
        android:background="#EA4335"
        android:gravity="center"
        android:text="我是竖屏的布局"
        android:textColor="#FFFFFF"
        android:textSize="18sp"
        android:textStyle="bold" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:text="我不重走生命周期"
        android:textColor="#FFFFFF"
        android:textSize="13sp"
        android:textStyle="bold" />

</LinearLayout>

横屏布局代码

<?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:background="#4285F4"
    android:gravity="center"
    android:orientation="vertical">

    <TextView
        android:layout_width="200dp"
        android:layout_height="100dp"
        android:background="#34A853"
        android:gravity="center"
        android:text="我是横屏的布局"
        android:textColor="#FFFFFF"
        android:textSize="18sp"
        android:textStyle="bold" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:text="我不重走生命周期"
        android:textColor="#FFFFFF"
        android:textSize="13sp"
        android:textStyle="bold" />

</LinearLayout>

AndroidManifest.xml配置代码

<activity
            android:name=".screen.ScreenChangeActivity"
            android:configChanges="keyboardHidden|orientation|screenSize" />
方案二:重走生命周期

Activity代码

public class ScreenChange2Activity extends FragmentActivity {

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

}

layout布局


image.png

竖屏布局代码

<?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:background="#FBBC05"
    android:gravity="center"
    android:orientation="vertical">

    <TextView
        android:layout_width="200dp"
        android:layout_height="100dp"
        android:background="#EA4335"
        android:gravity="center"
        android:text="我是竖屏的布局"
        android:textColor="#FFFFFF"
        android:textSize="18sp"
        android:textStyle="bold" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:text="我重走生命周期"
        android:textColor="#FFFFFF"
        android:textSize="13sp"
        android:textStyle="bold" />

</LinearLayout>

横屏布局代码

<?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:background="#4285F4"
    android:gravity="center"
    android:orientation="vertical">

    <TextView
        android:layout_width="200dp"
        android:layout_height="100dp"
        android:background="#34A853"
        android:gravity="center"
        android:text="我是横屏的布局"
        android:textColor="#FFFFFF"
        android:textSize="18sp"
        android:textStyle="bold" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:text="我重走生命周期"
        android:textColor="#FFFFFF"
        android:textSize="13sp"
        android:textStyle="bold" />

</LinearLayout>

AndroidManifest.xml配置代码

<activity
            android:name=".screen.ScreenChange2Activity"/>

相关文章

  • Android横竖屏布局适配

    效果图 方案一:不重走生命周期 Activity代码 竖屏布局代码 横屏布局代码 AndroidManifest....

  • 关于iOS横竖屏适配

    关于iOS横竖屏适配 关于iOS横竖屏适配

  • Storyboard 中用户界面适配问题

    需求说明UI界面布局通过 Storyboard 实现,要求对界面进行横竖屏的适配; 使用了 Autolayout ...

  • 关于android横竖屏切换布局文件

    问题 在实际Android开发中会遇到横竖屏切换时,由于横竖屏尺寸问题,界面布局会有差异 解决方案 res 文件目...

  • iOS开发横竖屏

    关于iOS横竖屏适配 - 简书 iOS横竖屏旋转及其基本适配方法 - 梧雨北辰的博客 - CSDN博客 适配主要需...

  • 气质程序媛养成记第二篇

    横竖屏布局 平时我们接触到的横竖屏布局,大多都是布局样式是统一的,只是按照横竖屏的宽高比例进行约束布局。最近接触的...

  • 技术文章汇总

    横竖屏适配 字体大小适配 Cell 高度自适应

  • iOS横屏和竖屏布局不同的实现方案浅析

    横屏和竖屏布局不同的实现方案浅析最近在开发中碰到了需要兼容横竖屏的布局需求,由于要兼容iOS7且要适配目前所有的i...

  • ZXPAuaoLayout框架的使用

    一行搞定自动布局&适配iPhone,ipad,横竖屏.和label自适应 iOS的自动布局神器,只需要一行代码就搞...

  • 安卓适配

    ------刘海屏------屏幕适配 | Android 刘海屏适配总结Android刘海屏适配方案Androi...

网友评论

      本文标题:Android横竖屏布局适配

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