欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

安卓Android碎片fragment实现静态加载

程序员文章站 2022-05-31 19:24:46
静态加载好后的界面如下,两个碎片分别位于一个活动的左边和右边: 左边和右边分别为一个碎片,这两个碎片正好将一整个活动布满。一个活动当中可以拥有多个碎片,碎片的含义就是可以在同一个UI界面下,将这个界面分成好几个界面,并且可以分别更新自己的状态,如果没有碎片,那么如果你想要单独在某一个区域实现活动的“ ......

静态加载好后的界面如下,两个碎片分别位于一个活动的左边和右边:
安卓Android碎片fragment实现静态加载

 

 

 左边和右边分别为一个碎片,这两个碎片正好将一整个活动布满。一个活动当中可以拥有多个碎片,碎片的含义就是可以在同一个ui界面下,将这个界面分成好几个界面,并且可以分别更新自己的状态,如果没有碎片,那么如果你想要单独在某一个区域实现活动的“跳转”就不可能了,因此我们可以引入碎片,这样就可以在这个区域单独进行碎片的跳转。在利用底部标题栏进行首页ui的切换的时候就需要用到碎片,因此碎片在安卓开发当中十分广泛,这篇博客将会与你讲解如何实现静态加载碎片,除了静态加载碎片,还具有动态加载碎片的方式,两种方式不同的方式都进行理解与引用,才可以把碎片的威力发挥到最大。下面是代码,第一个是主活动当中的代码,主活动一定得继承fragment这个类才可以实现碎片:

一.mainactivity.java

import androidx.fragment.app.fragmentactivity;
import android.os.bundle;
import android.util.log;

public class mainactivity extends fragmentactivity {

    public mainactivity() {
        log.e("tag", "mainactivity()..");
    }

    @override
    protected void oncreate(bundle savedinstancestate) {
        log.e("tag", "mainactivity oncreate()..");
        super.oncreate(savedinstancestate);
        setcontentview(r.layout.activity_main);
    }
}

然后咱们创建碎片,在上述的ui界面当中有两个碎片的区块,因此我们连续创建两个碎片:

二.myfragment.java

我们在这个碎片当中利用java直接引入textview控件,当然在这个碎片所对应的xml文件当中也可以,这是相互等效的,都比较简单。

import android.graphics.color;
import android.os.bundle;
import androidx.fragment.app.fragment;
import android.view.layoutinflater;
import android.view.view;
import android.view.viewgroup;
import android.widget.textview;

public class myfragment extends fragment {

    @override
    public view oncreateview(layoutinflater inflater, viewgroup container,
                             bundle savedinstancestate) {

        //加载布局得到view对象并返回

        //创建一个视图对象, 设置数据并返回
        textview  textview = new textview(getactivity());
        textview.settext("这是第一个碎片");
        textview.setbackgroundcolor(color.red);

        return textview;
    }
}

三.myfragment2.java

import android.graphics.color;
import android.os.bundle;
import androidx.fragment.app.fragment;
import android.view.layoutinflater;
import android.view.view;
import android.view.viewgroup;
import android.widget.textview;



public class myfragment2 extends fragment {

    @override
    public view oncreateview(layoutinflater inflater, viewgroup container,
                             bundle savedinstancestate) {

        //加载布局得到view对象并返回

        //创建一个视图对象, 设置数据并返回
        textview  textview = new textview(getactivity());
        textview.settext("这是第二个碎片");
        textview.setbackgroundcolor(color.red);

        return textview;
    }
}

之后在咱们的主活动的ui界面当中将代码修改为:

四.activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    tools:context=".mainactivity">
    <fragment
        android:name="com.example.fragment.myfragment"
        android:id="@+id/myfragment_1"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        />
    <fragment
        android:name="com.example.fragment.myfragment2"
        android:id="@+id/myfragment_2"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent"

        />
</linearlayout>

这样就可以把fragment引入到咱们的主活动上面来啦,运行安卓项目,大功告成!!