碎片结合功能

代码

Activity中
package com.example.slidemenu;

import android.Manifest;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RelativeLayout;

import com.example.slidemenu.fragment.FifthFragment;
import com.example.slidemenu.fragment.FirstFragment;
import com.example.slidemenu.fragment.FourthFragment;
import com.example.slidemenu.fragment.SecondFragment;
import com.example.slidemenu.fragment.ThirdFragment;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;

public class ShowActivity extends AppCompatActivity {

    private String[] permissions = {
            Manifest.permission.WRITE_CONTACTS,
            Manifest.permission.READ_CONTACTS,
            Manifest.permission.CALL_PHONE,
            Manifest.permission.CAMERA
    };

    private FirstFragment fragment1 = new FirstFragment();
    private SecondFragment fragment2 = new SecondFragment();
    private ThirdFragment fragment3 = new ThirdFragment();
    private FourthFragment fragment4 = new FourthFragment();
    private FifthFragment fragment5 = new FifthFragment();
    private DrawerLayout drawerLayout;
    private Toolbar toolBar;
    private ImageView ivShow;
    private Button btF1;
    private Button btF2;
    private Button btF3;
    private Button btF4;
    private Button btF5;

    private SlidingMenu slidingMenu;
    private LinearLayout ll;
    private RelativeLayout rlFrag;
    private RadioButton rbF1;
    private RadioButton rbF2;
    private RadioButton rbF3;
    private RadioButton rdF4;
    private RadioButton rbF5;


    private FragmentManager manager;
    private FragmentTransaction transaction;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_show);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            requestPermissions(permissions,101);
        }

        getSupportFragmentManager().beginTransaction()
                .add(R.id.ll_frag,fragment1)
                .add(R.id.ll_frag,fragment2)
                .add(R.id.ll_frag,fragment3)
                .add(R.id.ll_frag,fragment4)
                .add(R.id.ll_frag,fragment5).commit();

        initView();
        smallDrawer();
        slideMenu();
    }

    private void slideMenu() {
        slidingMenu = new SlidingMenu(this);

        slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        slidingMenu.setMode(SlidingMenu.RIGHT);

        View inflate = LayoutInflater.from(this).inflate(R.layout.layout_slide_two, null);
        rightListener(inflate);
        slidingMenu.setMenu(inflate);

        slidingMenu.setBehindOffset(200);
        slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    }

        private void rightListener(View inflate) {

            Button bt1 = inflate.findViewById(R.id.bt_right_f1);
            Button bt2 = inflate.findViewById(R.id.bt_right_f2);
            Button bt3 = inflate.findViewById(R.id.bt_right_f3);
            Button bt4 = inflate.findViewById(R.id.bt_right_f4);
            Button bt5 = inflate.findViewById(R.id.bt_right_f5);

            bt1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    HiddenFrag();
                    getSupportFragmentManager().beginTransaction().show(fragment1).commit();
                    slidingMenu.showContent();
                    rbF1.setChecked(true);
                }
            });

            bt2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    HiddenFrag();
                    getSupportFragmentManager().beginTransaction().show(fragment2).commit();
                    slidingMenu.showContent();
                    rbF2.setChecked(true);
                }
            });

            bt3.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    HiddenFrag();
                    getSupportFragmentManager().beginTransaction().show(fragment3).commit();
                    slidingMenu.showContent();
                    rbF3.setChecked(true);
                }
            });

            bt4.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    HiddenFrag();
                    getSupportFragmentManager().beginTransaction().show(fragment4).commit();
                    slidingMenu.showContent();
                    rdF4.setChecked(true);
                }
            });

            bt5.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    HiddenFrag();
                    getSupportFragmentManager().beginTransaction().show(fragment5).commit();
                    slidingMenu.showContent();
                    rbF5.setChecked(true);
                }
            });

        }
    //隐藏所有碎片
    public void HiddenFrag(){
        getSupportFragmentManager().beginTransaction().hide(fragment1).hide(fragment2).hide(fragment3).hide(fragment4).hide(fragment5).commit();
    }

    private void smallDrawer() {

        btF1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HiddenFrag();
                getSupportFragmentManager().beginTransaction().show(fragment1).commit();
                drawerLayout.closeDrawer(Gravity.LEFT);
            }
        });

        btF2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HiddenFrag();
                getSupportFragmentManager().beginTransaction().show(fragment2).commit();
                drawerLayout.closeDrawer(Gravity.LEFT);

            }
        });

        btF3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HiddenFrag();
                getSupportFragmentManager().beginTransaction().show(fragment3).commit();
                drawerLayout.closeDrawer(Gravity.LEFT);

            }
        });

        btF4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HiddenFrag();
                getSupportFragmentManager().beginTransaction().show(fragment4).commit();
                drawerLayout.closeDrawer(Gravity.LEFT);

            }
        });

        btF5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HiddenFrag();
                getSupportFragmentManager().beginTransaction().show(fragment5).commit();
                drawerLayout.closeDrawer(Gravity.LEFT);

            }
        });

    }

    private void initView() {
        drawerLayout = findViewById(R.id.drawer_layout);
        toolBar = findViewById(R.id.tool_bar);
        ivShow = findViewById(R.id.iv_show);
        btF1 = findViewById(R.id.bt_f1);
        btF2 = findViewById(R.id.bt_f2);
        btF3 = findViewById(R.id.bt_f3);
        btF4 = findViewById(R.id.bt_f4);
        btF5 = findViewById(R.id.bt_f5);
        rbF1 = findViewById(R.id.rb_f1);
        rbF2 = findViewById(R.id.rb_f2);
        rbF3 = findViewById(R.id.rb_f3);
        rdF4 = findViewById(R.id.rd_f4);
        rbF5 = findViewById(R.id.rb_f5);

        ivShow.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                drawerLayout.openDrawer(Gravity.LEFT);
            }
        });
        ll = findViewById(R.id.ll);

        //碎片加入视图


    }
}

碎片
第一个碎片(联系人加拨打)
package com.example.slidemenu.fragment;


import android.content.ContentResolver;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.slidemenu.R;
import com.example.slidemenu.adapter.TelAdapter;
import com.example.slidemenu.bean.TelBean;
import com.example.slidemenu.listener.TelOnItemClickListener;

import java.util.ArrayList;
import java.util.List;

/**
 * A simple {@link Fragment} subclass.
 */
public class FirstFragment extends Fragment {


    private RecyclerView rvTel;

    public FirstFragment() {
        // Required empty public constructor
    }

    private List<TelBean> telBeanList = new ArrayList<>();
    private TelAdapter telAdapter;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View inflate = inflater.inflate(R.layout.fragment_first, container, false);
        initView(inflate);

        ContentResolver contentResolver = getActivity().getContentResolver();
        Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;

        Cursor cursor = contentResolver.query(uri, null, null, null, null);
        if(cursor != null){
            while(cursor.moveToNext()){
                String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

                TelBean telBean = new TelBean(name, number);
                telBeanList.add(telBean);
            }
            telAdapter.notifyDataSetChanged();
            cursor.close();
        }

        telAdapter.setClickListener(new TelOnItemClickListener() {
            @Override
            public void OnItemClick(int position) {
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_CALL);
                intent.setData(Uri.parse("tel:"+telBeanList.get(position).getTel()));
                getActivity().startActivity(intent);
            }
        });

        return inflate;
    }

    private void initView(View inflate) {
        rvTel = inflate.findViewById(R.id.rv_tel);

        rvTel.setLayoutManager(new LinearLayoutManager(getContext()));
        telAdapter = new TelAdapter(telBeanList,getContext());
        rvTel.setAdapter(telAdapter);
    }
}

第二个碎片(录制视频并播放)
package com.example.slidemenu.fragment;


import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
import android.widget.VideoView;

import com.example.slidemenu.R;

/**
 * A simple {@link Fragment} subclass.
 */
public class SecondFragment extends Fragment {


    private Button btVideo;
    private VideoView vvVideo;

    public SecondFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        final View inflate = inflater.inflate(R.layout.fragment_second, container, false);
        initView(inflate);

        btVideo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setAction(MediaStore.ACTION_VIDEO_CAPTURE);
                startActivityForResult(intent,101);
            }
        });

        return inflate;
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(requestCode == 101 && resultCode == Activity.RESULT_OK){
            Uri uri = data.getData();
            Toast.makeText(getContext(), ""+uri, Toast.LENGTH_SHORT).show();

            vvVideo.setVideoURI(uri);
            vvVideo.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    vvVideo.start();
                }
            });

        }
    }

    private void initView(View inflate) {
        btVideo = inflate.findViewById(R.id.bt_video);
        vvVideo = inflate.findViewById(R.id.vv_video);
    }
}

第三个碎片(综合)
package com.example.slidemenu.fragment;


import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

import com.example.slidemenu.R;

/**
 * A simple {@link Fragment} subclass.
 */
public class ThirdFragment extends Fragment {


    private Button btLook;
    private ImageView ivLook;
    private Button btCamera;
    private Button btWeb;

    public ThirdFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View inflate = inflater.inflate(R.layout.fragment_third, container, false);
        initView(inflate);

        btLook.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_PICK);
                intent.setType("image/*");
                startActivityForResult(intent, 102);
            }
        });

        btCamera.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
                startActivity(intent);

            }
        });

        btWeb.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_VIEW);
                intent.setData(Uri.parse("https://www.baidu.com"));
                startActivity(intent);
            }
        });

        return inflate;
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 102 && resultCode == Activity.RESULT_OK) {
            Uri uri = data.getData();
            Toast.makeText(getContext(), "" + uri, Toast.LENGTH_SHORT).show();
            ivLook.setImageURI(uri);
        }
    }

    private void initView(View inflate) {
        btLook = inflate.findViewById(R.id.bt_look);
        ivLook = inflate.findViewById(R.id.iv_look);
        btCamera = inflate.findViewById(R.id.bt_camera);
        btWeb = inflate.findViewById(R.id.bt_web);
    }
}

第四个碎片 (截图代码写了,但是没有效果)
package com.example.slidemenu.fragment;


import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;

import com.example.slidemenu.R;

/**
 * A simple {@link Fragment} subclass.
 */
public class FourthFragment extends Fragment {


    private Button btCut;
    private ImageView ivCut;

    public FourthFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View inflate = inflater.inflate(R.layout.fragment_fourth, container, false);
        initView(inflate);

        btCut.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                View decorView = getActivity().getWindow().getDecorView();
                decorView.setDrawingCacheEnabled(true);
                decorView.buildDrawingCache();//缓存
                Bitmap bitmap = decorView.getDrawingCache();

                ivCut.setImageBitmap(bitmap);

            }
        });



        return inflate;
    }

    private void initView(View inflate) {
        btCut = inflate.findViewById(R.id.bt_cut);
        ivCut = inflate.findViewById(R.id.iv_cut);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值