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