本教程使用Android Studio开发.以后Android的文章都是通过Android Studio来开发.
我们还是直入正题,有时候为了显示效果,我们需要在一个activity中显示多个布局效果,当然也通过单个xml进行布局,这里我们使用Fragment来处理.
1.首先,我们创建一个android项目,结构如下
2.创建activity_main的布局,且编写MainActivity的代码
xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <fragment android:id="@+id/home" android:layout_width="match_parent" android:layout_height="0dp" android:name="wutongwei.com.studyfragment.HomeFragment" android:layout_weight="1" tools:layout="@layout/activity_home" /> <fragment android:layout_weight="1" android:layout_width="match_parent" android:name="wutongwei.com.studyfragment.MessageFragment" android:layout_height="0dp" tools:layout="@layout/activity_message" android:id="@+id/message"></fragment> </LinearLayout>
java
package wutongwei.com.studyfragment; import android.support.v4.app.FragmentActivity; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState, 0, 0); setContentView(R.layout.activity_main, 0, 0); } }
3.创建HomeFragment布局文件和对应的Fragment代码
xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ff6600"> <TextView android:text="HomeFragment" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout>
java
package wutongwei.com.studyfragment; import android.support.v4.app.Fragment; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; public class HomeFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.activity_home,container,false, 0, 0); } }
4.创建MessageFragment布局文件和对应的Fragment代码
xml
<?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"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="MessageFragment" android:id="@+id/textView" android:layout_gravity="center_vertical" android:gravity="center"></TextView> </LinearLayout>
java
package wutongwei.com.studyfragment; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; /** * Created by Tonway on 15/6/29. */ public class MessageFragment extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.activity_message,container,false, 0, 0); } }
最后运行效果