android 开发 碎片Fragment布局例子(用按键切换碎片布局) |
您所在的位置:网站首页 › 碎片图片软件 › android 开发 碎片Fragment布局例子(用按键切换碎片布局) |
实现思路: 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 |