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>
  • 相关阅读:
    matlab练习程序(单源最短路径Bellman-Ford)
    matlab练习程序(广度优先搜索BFS、深度优先搜索DFS)
    matlab练习程序(模拟退火SA)
    matlab练习程序(演化策略ES)
    matlab练习程序(差异演化DE)
    matlab练习程序(粒子群优化PSO)
    安卓Webview缓存网页数据(无网络正常显示)
    Git之Github使用(一):Push代码到Github
    SuperIndicator 一个专用打造轮播的类库
    android的多次点击事件的实现(有源码)
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/3389536.html
Copyright © 2011-2022 走看看