安卓Android碎片fragment實現靜態加載

靜態加載好後的界面以下,兩個碎片分別位於一個活動的左邊和右邊:
java

 

 

 左邊和右邊分別爲一個碎片,這兩個碎片正好將一整個活動佈滿。一個活動當中能夠擁有多個碎片,碎片的含義就是能夠在同一個UI界面下,將這個界面分紅好幾個界面,而且能夠分別更新本身的狀態,若是沒有碎片,那麼若是你想要單獨在某一個區域實現活動的「跳轉」就不可能了,所以咱們能夠引入碎片,這樣就能夠在這個區域單獨進行碎片的跳轉。在利用底部標題欄進行首頁UI的切換的時候就須要用到碎片,所以碎片在安卓開發當中十分普遍,這篇博客將會與你講解如何實現靜態加載碎片,除了靜態加載碎片,還具備動態加載碎片的方式,兩種方式不一樣的方式都進行理解與引用,才能夠把碎片的威力發揮到最大。下面是代碼,第一個是主活動當中的代碼,主活動必定得繼承Fragment這個類才能夠實現碎片:android

一.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界面當中有兩個碎片的區塊,所以咱們連續建立兩個碎片:app

二.MyFragment.java

咱們在這個碎片當中利用Java直接引入TextView控件,固然在這個碎片所對應的xml文件當中也能夠,這是相互等效的,都比較簡單。ide

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引入到我們的主活動上面來啦,運行安卓項目,大功告成!!spa

相關文章
相關標籤/搜索