静态加载好后的界面以下,两个碎片分别位于一个活动的左边和右边: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