代码
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;
public class FirstFragment extends Fragment {
private RecyclerView rvTel;
public FirstFragment() {
}
private List<TelBean> telBeanList = new ArrayList<>();
private TelAdapter telAdapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
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;
public class SecondFragment extends Fragment {
private Button btVideo;
private VideoView vvVideo;
public SecondFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
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;
public class ThirdFragment extends Fragment {
private Button btLook;
private ImageView ivLook;
private Button btCamera;
private Button btWeb;
public ThirdFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
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;
public class FourthFragment extends Fragment {
private Button btCut;
private ImageView ivCut;
public FourthFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
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);
}
}