美文网首页
AndroidUtilCode工具类库的部分使用

AndroidUtilCode工具类库的部分使用

作者: 名字_都被占了 | 来源:发表于2018-04-03 23:08 被阅读0次

首先添加如下依赖:

compile 'com.blankj:utilcode:1.11.1'

其中FragmentUtils工具类的使用,还有很多工具类
mainactivity.java文件中

public class WaiXingAcitivity extends AppCompatActivity {
    private NavigationView navigationView;
    private DrawerLayout drawerLayout;
    private FirstFragment firstFragment;
    private SecondFragment secondFragment;
    private ThridFragment thridFragment;
    private FragmentManager fragmentManager;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.waixing);
        navigationView = (NavigationView) findViewById(R.id.navi);
        drawerLayout = (DrawerLayout) findViewById(R.id.draw);
        firstFragment = FirstFragment.getInstance();
        secondFragment = SecondFragment.getInstance();
        thridFragment = ThridFragment.getInstance();
        fragmentManager = getSupportFragmentManager();
        FragmentUtils.add(fragmentManager, firstFragment, R.id.zaiti);
        navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                switch (item.getItemId()) {
                    case R.id.f:
                        Log.d("WaiXingAcitivity", "点击了");
                        if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
                            drawerLayout.closeDrawer(GravityCompat.START);
                        }
                        List<Fragment> list = new ArrayList<Fragment>();
                        list.add(secondFragment);
                        list.add(thridFragment);
                        FragmentUtils.showHide(firstFragment, list);
                        break;
                    case R.id.f1:
                        Log.d("WaiXingAcitivity", "点击了1");
                        if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
                            drawerLayout.closeDrawer(GravityCompat.START);
                        }
                        if (FragmentUtils.findFragment(fragmentManager, SecondFragment.class) == null) {
                            if (FragmentUtils.findFragment(fragmentManager, ThridFragment.class) != null)
                                FragmentUtils.hide(thridFragment);
                            FragmentUtils.hide(firstFragment);
                            FragmentUtils.add(fragmentManager, secondFragment, R.id.zaiti);
                        } else {
                            List<Fragment> list1 = new ArrayList<Fragment>();
                            list1.add(firstFragment);
                            list1.add(thridFragment);
                            FragmentUtils.showHide(secondFragment, list1);
                        }
                        break;
                    case R.id.f2:
                        Log.d("WaiXingAcitivity", "点击了2");
                        if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
                            drawerLayout.closeDrawer(GravityCompat.START);
                        }
                        if (FragmentUtils.findFragment(fragmentManager, ThridFragment.class) == null) {
                            if (FragmentUtils.findFragment(fragmentManager, SecondFragment.class) != null)
                                FragmentUtils.hide(secondFragment);
                            FragmentUtils.hide(firstFragment);
                            FragmentUtils.add(fragmentManager, thridFragment, R.id.zaiti);
                        } else {
                            List<Fragment> list2 = new ArrayList<Fragment>();
                            list2.add(firstFragment);
                            list2.add(secondFragment);
                            FragmentUtils.showHide(thridFragment, list2);
                        }
                        break;
                }
                return true;
            }
        });
    }
}

在waixing.xml文件中

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/draw"
    android:orientation="vertical">

    <FrameLayout
        android:id="@+id/zaiti"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <android.support.design.widget.NavigationView
        android:id="@+id/navi"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:headerLayout="@layout/toulayout"
        app:menu="@menu/caidan"/>
</android.support.v4.widget.DrawerLayout>

在FirstFragment.java文件中

public class FirstFragment extends Fragment {
    private static FirstFragment firstFragment;
    public static FirstFragment getInstance(){
        if(firstFragment==null){
            firstFragment=new FirstFragment();
        }
        return firstFragment;
    }
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.first,container,false);
        return view;
    }
}

相关文章:
https://github.com/Blankj/AndroidUtilCode
https://blankj.com/2016/07/31/android-utils-code/

相关文章

网友评论

      本文标题:AndroidUtilCode工具类库的部分使用

      本文链接:https://www.haomeiwen.com/subject/nutchftx.html