zoukankan      html  css  js  c++  java
  • Android Fragment(二)

    废话:在上一篇的博客中我们给出了Fragment的简单介绍,这一片博客给大家介绍一下Fragment到底该怎样用。主要都用在哪方面等等。

    需求:现有一个界面,要求,竖屏时界面的背景颜色为红色,横屏时界面的的背景颜色为黄色。(主要目的是为了给大家演示一下Fragment实现动态UI效果)

    直接看代码好了:

    一、背景颜色为红色的Fragment

    package com.yw.myapiupdate.fragment;
    
    import android.annotation.SuppressLint;
    import android.app.Fragment;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    
    import com.yw.myapiupdate.R;
    
    @SuppressLint("NewApi")
    public class FragmentRed extends Fragment{
        
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            return inflater.inflate(R.layout.fragmentred, container,false);
        }
    }

    红色布局:

    <?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:orientation="vertical" >
        
    <TextView 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#ff0000"
        android:text="这是一个fragment的测试程序"/>
    </LinearLayout>

    二、背景颜色为黄色的Fragment

    package com.yw.myapiupdate.fragment;
    
    import android.annotation.SuppressLint;
    import android.app.Fragment;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    
    import com.yw.myapiupdate.R;
    
    @SuppressLint("NewApi")
    public class FragmentYellow extends Fragment{
        
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            return inflater.inflate(R.layout.fragmentyellow, container,false);
        }
    }

    黄色布局:

    <?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:orientation="vertical" >
        <TextView 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="这是一个fragment的测试程序"
        android:background="#ffff00"/>
    
    </LinearLayout>

    三、承载这两个布局的Activity

    package com.yw.myapiupdate.fragment;
    
    import android.annotation.SuppressLint;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Display;
    
    import com.yw.myapiupdate.R;
    
    @SuppressLint("NewApi")
    public class MainActivity extends Activity{
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.fragment_layout);
            Display display = getWindowManager().getDefaultDisplay();
            if(display.getWidth() > display.getHeight()){
                FragmentRed red = new FragmentRed();
                getFragmentManager().beginTransaction().replace(R.id.fragment_linear_layout, red).commit();
            }else{
                FragmentYellow yellow = new FragmentYellow();
                getFragmentManager().beginTransaction().replace(R.id.fragment_linear_layout, yellow).commit();
            }
        }
    }

    主文件布局:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/fragment_linear_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" 
        android:baselineAligned="false">
    </LinearLayout>
  • 相关阅读:
    分区范围oracle partition table related operations
    软件应用交委有权力叫停打车软件吗?
    美国竞争对手华为将反击竞争对手:我们不会对它们友好
    类型名称了解typename的双重意义
    全局变量局部变量ScriptCase中的全局变量、局部变量
    方法定义django admin中 外键下拉框添加过滤(只需要显示我所要的过滤结果)
    移动设备恶意软件移动设备恶意软件应用泛滥 安卓成攻击首选
    nbtstat命令详解
    route命令范例
    硬盘MBR全面分析
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/3389536.html
Copyright © 2011-2022 走看看