android 开发 碎片Fragment布局例子(用按键切换碎片布局)

您所在的位置:网站首页 碎片图片软件 android 开发 碎片Fragment布局例子(用按键切换碎片布局)

android 开发 碎片Fragment布局例子(用按键切换碎片布局)

2024-07-11 13:52| 来源: 网络整理| 查看: 265

实现思路:

1.写一个父类布局,里面写一个按键和一个帧布局(用于给Fragment布局后续替代)

2.写3个子布局,并且在写3个class继承Fragment布局

3.在MainActivity的class中写替换碎片布局的方法

(包含:FragmentManger(碎片管理器)、getSupportFragmentManager(得到支持碎片管理器)、FragmenTransaction(碎片交换器)、beginTransaction(开始碎片交换)、replace(替换)、commit(交付))

1.写一个父类布局,里面写一个按键和一个帧布局:

2.写3个子布局,并且在写3个class继承Fragment布局

相同布局在写2个

写一个class继承fragment实现碎片布局实例化:

package com.example.lenovo.myfragmentdemo2.fragment; // 注意Fragment的依赖库建议统一使用support-v4库中的 import android.support.v4.app.Fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.lenovo.myfragmentdemo2.R; /** * Created by lenovo on 2018/5/7. */ public class Fragment1 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_1,container,false); return view; } }

3.在MainActivity的class中写替换碎片布局的方法

package com.example.lenovo.myfragmentdemo2; // 注意Fragment的依赖库 import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import com.example.lenovo.myfragmentdemo2.fragment.Fragment1; import com.example.lenovo.myfragmentdemo2.fragment.Fragment2; import com.example.lenovo.myfragmentdemo2.fragment.Fragment3; public class MainActivity extends AppCompatActivity { private Button button; private int i = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button)findViewById(R.id.Button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { switch (i){ case 1: replaceFragment(new Fragment1()); i++; break; case 2: replaceFragment(new Fragment2()); i++; break; case 3: replaceFragment(new Fragment3()); i++; break; default: replaceFragment(new Fragment1()); i=1; break; } } }); } public void replaceFragment(Fragment fragment){ FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.replace(R.id.FrameLayout1,fragment); transaction.commit(); } }

运行效果:

点击后:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3