转载请注明出处:Fragment静态添加_android 添加两个fragment_Mr_Leixiansheng的博客-CSDN博客
1、Fragment静态添加 : Fragment静态添加_android 添加两个fragment_Mr_Leixiansheng的博客-CSDN博客
2、Fragment动态添加 : Fragment动态添加、及与Activity数据传递_Mr_Leixiansheng的博客-CSDN博客
步骤:
1、添加fragment_1、fragment_2的 xml文件,设置好显示内容
2、新建Fragment1、Fragment2两个类、重写 onCreateView
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_2, container, false);
}
3、activity_main.xml布局中添加两个fragment-->android name:(包名全路径)
代码如下:
1、添加设置布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#aa0000">
<TextView
android:text="This is fragement1"
android:textSize="50dp"
android:textColor="#dd0"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#0000aa">
<TextView
android:text="This is fragement2"
android:textSize="50dp"
android:textColor="#0fe"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
2、添加碎片类、重写onCreateView
package com.example.administrator.fragment;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* Created by Administrator on 2017/1/7.
*/
public class Fragment1 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_1, container, false);
}
}
package com.example.administrator.fragment;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* Created by Administrator on 2017/1/7.
*/
public class Fragment2 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_2, container, false);
}
}
3、activity_main.xml布局中添加两个fragment-->android name:(包名全路径)(必须为碎片指定id 否则报错)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:baselineAligned="false"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:name="com.example.administrator.fragment.Fragment1"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1"
android:id="@+id/fragment"
tools:layout="@layout/fragment_1" />
<fragment
android:name="com.example.administrator.fragment.Fragment2"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1"
android:id="@+id/fragment2"
tools:layout="@layout/fragment_2" />
</LinearLayout>
4、主程序
package com.example.administrator.fragment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Kotlin写法:
package com.leixiansheng.kotlintest
import android.app.Fragment
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
/**
* Created by Leixiansheng on 2018/11/19.
*/
class Fragment1 : Fragment() {
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View {
return inflater!!.inflate(R.layout.fragment_1, container,false)
}
}
package com.leixiansheng.kotlintest
import android.app.Fragment
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
/**
* Created by Leixiansheng on 2018/11/19.
*/
class Fragment2 : Fragment() {
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View {
return inflater!!.inflate(R.layout.fragment_2, container,false)
}
}
package com.leixiansheng.kotlintest
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.Window
class MainActivity : AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
supportRequestWindowFeature(Window.FEATURE_NO_TITLE)
setContentView(R.layout.activity_main)
}
}