理论性知识
以及一些sytle
设置模式: setMode(SlidingMenu.LEFT);
设置触摸屏幕的模式:setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
//TOUCHMODE_FULLSCREEN全屏;TOUCHMODE_MARGIN边界;TOUCHMODE_NONE不能滑动
设置左侧菜单滑动显示的内容:slidingMenu.setMenu(R.layout.slide_menu);
设置左侧滑动菜单的阴影宽度:slidingMenu.setShadowWidth(300);
设置滑动时的渐变程度:slidingMenu.setFadeDegree(0.5f);范围0.0f-1.0f
设置淡入淡出的效果:slidingMenu.setFadeEnabled(true);
设置左侧滑动菜单的阴影图片(颜色):setShadowDrawable();
设置滑出时主页面显示的剩余宽度:slidingMenu.setBehindOffset(200);
必须要导入sl包
2.代码实现:
package com.example.day4;
import android.os.Build;
import android.support.annotation.RequiresApi;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
ViewPager viewPager;
base base;
RadioGroup radioGroup;
RadioButton r1;
RadioButton r2;
RadioButton r3;
ArrayList<Fragment> list = new ArrayList<>();
F1 f1 = new F1();
F2 f2 = new F2();
F3 f3 = new F3();
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.tool);
viewPager = findViewById(R.id.page);
radioGroup=findViewById(R.id.www);
r1=findViewById(R.id.w1);
r2=findViewById(R.id.w2);
r3=findViewById(R.id.w3);
toolbar.setNavigationIcon(R.mipmap.ic_launcher_round);
list.clear();
list.add(f1);
list.add(f2);
list.add(f3);
base = new base(getSupportFragmentManager(), list);
viewPager.setAdapter(base);
//创建
final SlidingMenu slidingMenu = new SlidingMenu(this);
// slidingMenu.setShadowWidth(200);//阴影
// slidingMenu.setShadowDrawable(R.mipmap.tu);
slidingMenu.setFadeDegree(0.5f);//渐变
slidingMenu.setFadeEnabled(true);//淡入淡出
//绑定当前act
slidingMenu.attachToActivity(this,slidingMenu.SLIDING_CONTENT);
//从哪边出来
slidingMenu.setMode(SlidingMenu.LEFT);
//自定义布局
View inflate = LayoutInflater.from(this).inflate(R.layout.layout, null);
TextView t1 = inflate.findViewById(R.id.q1);
TextView t2 = inflate.findViewById(R.id.q2);
TextView t3 = inflate.findViewById(R.id.q3);
t1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewPager.setCurrentItem(0);
slidingMenu.showContent();
r1.setChecked(true);
}
});
t2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewPager.setCurrentItem(1);
slidingMenu.showContent();
r2.setChecked(true);
}
});
t3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewPager.setCurrentItem(2);
slidingMenu.showContent();
r3.setChecked(true);
}
});
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
if(i==0){
r1.setChecked(true);
}
if(i==1){
r2.setChecked(true);
}
if(i==2){
r3.setChecked(true);
}
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
slidingMenu.showMenu();
}
});
slidingMenu.setMenu(inflate);
slidingMenu.setBehindOffset(200);
slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//全屏
slidingMenu.setOnOpenedListener(new SlidingMenu.OnOpenedListener() {
@Override
public void onOpened() {
Toast.makeText(MainActivity.this, "打开了", Toast.LENGTH_SHORT).show();
}
});
slidingMenu.setOnClosedListener(new SlidingMenu.OnClosedListener() {
@Override
public void onClosed() {
Toast.makeText(MainActivity.this, "关闭了", Toast.LENGTH_SHORT).show();
}
});
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if(r1.isChecked()){
viewPager.setCurrentItem(0);
}
if(r2.isChecked()){
viewPager.setCurrentItem(1);
}
if(r3.isChecked()){
viewPager.setCurrentItem(2);
}
}
});
}
}