Fragment横竖屏

第一步,创建两个Fragment。 Fragment1是横屏时的Fragment Fragment2是竖屏时的fragment。 代码如下:

public class fragment1 extends Fragment{
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      View fragment1view = inflater.inflate(R.layout.fragment1,null);
        return fragment1view;
    }
}
public class fragment2 extends Fragment {
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View fragment2view=inflater.inflate(R.layout.fragment2,null);
        return fragment2view;
    }
}

然后添加两个布局文件: fragment1和fragment2 代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#CCC">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#6C3"
        android:text="tomorrow is nice!"/>

</LinearLayout>

最后开始写mainactivity中的代码,具体流程如下: 先要获取窗口的管理器怎样获取呢:通过

WindowManager systemService = (WindowManager) getSystemService(WALLPAPER_SERVICE);
//通过WindowManager对象拿到手机宽高的参数
int height=getWindowManager().getDefaultDisplay().getHeight();
int  width=getWindowManager().getDefaultDisplay().getWidth();

//下面的逻辑就是Fragment动态替换的步骤。 /**

  • 1.0拿到Fragment的管理对象
  • 2.0开启一个事务 *3.0提交(最下面) */
FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction beginTransaction=fragmentManager.beginTransaction();
//当我们手机的高大于宽时,做不同逻辑处理。
    if(height>width){
        //当手机竖屏,加载Fragment1
        beginTransaction.replace(android.R.id.content,new fragment1());
    }else {
        beginTransaction.replace(android.R.id.content,new fragment2());
    }
    //提交
    beginTransaction.commit();
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏郭霖

Android Fragment完全解析,关于碎片你所需知道的一切

我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述。 但是Acti...

22390
来自专栏Android干货

安卓开发_浅谈Notification(通知栏)

40880
来自专栏编程之路

羊皮书APP(Android版)开发系列(七)Android沉浸通知栏

9230
来自专栏Android知识点总结

1-AVI--Fragment基础使用

13220
来自专栏学海无涯

Android开发之Fragment回退栈

在Android开发之Fragment动态使用一文中,说到replace方法切换Fragment,会造成Fragment不断销毁、创建,但是有没有办法实现像Ac...

32840
来自专栏Android干货

安卓开发_浅谈Fragment之ListFragment

51780
来自专栏Android机器圈

Android之Bmob移动后端云服务器

源码下载:http://download.csdn.net/download/jjhahage/10034519 PS:一般情况下,我们在写android程序的...

97690
来自专栏Android干货

关于安卓开始实现最简单地获取系统时间

28680
来自专栏听雨堂

存储状态数据

保存偏好         @Override         protected void onPause(){                 super.o...

24990
来自专栏pangguoming

Android EditText 获得输入焦点 以及requestfocus()失效的问题

 最近做公司项目的时候,经常会遇到一个问题,就是我为某个控件如EditText设置requestfocus()的时候不管用,比如说登陆的时候,我判断下用户输入的...

66960

扫码关注云+社区

领取腾讯云代金券