//=====MainActivity=
import android.app.Fragment;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private DrawerLayout drawerLayout;
private ViewPager viewPager;
private ActionBarDrawerToggle mToggle;
private TabLayout tabLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找到控件
viewPager = findViewById(R.id.viewpager);
drawerLayout = findViewById(R.id.drawerlayout);
tabLayout = findViewById(R.id.tablayout);
//获取一个actionbar对象
ActionBar actionBar = getSupportActionBar();
//给左上角设置一张默认的图片
actionBar.setDisplayHomeAsUpEnabled(true);
//得到一个可以绑定drawerlayout的类
mToggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.guan, R.string.kai);
//drawerlayout和acitonbar同步
mToggle.syncState();
//drawerlayout和acitonbar关联
drawerLayout.addDrawerListener(mToggle);
initFragment();
}
private void initFragment() {
ArrayList<Fragment> list=new ArrayList<>();
list.add(new TwoFragment());
list.add(new ThreeFragment());
list.add(new FourFragment());
list.add(new FiveFragment());
MyPagerAdapter myPagerAdapter = new MyPagerAdapter(getFragmentManager());
myPagerAdapter.setFragments(list);
viewPager.setAdapter(myPagerAdapter);
tabLayout.addTab(tabLayout.newTab());
tabLayout.addTab(tabLayout.newTab());
tabLayout.addTab(tabLayout.newTab());
tabLayout.addTab(tabLayout.newTab());
tabLayout.setupWithViewPager(viewPager);
tabLayout.getTabAt(0).setText("消息列表");
tabLayout.getTabAt(1).setText("联系人");
tabLayout.getTabAt(2).setText("动态");
tabLayout.getTabAt(3).setText("视频");
}
//设置左上角按钮具备点击事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (mToggle.onOptionsItemSelected(item)){
return true;
}
return super.onOptionsItemSelected(item);
}
}
//======侧拉BlankFragment=
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
-
A simple {@link Fragment} subclass.
*/
public class BlankFragment extends Fragment {@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_blank, container, false);
}
}
//=布局========
<?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”
xmlns:app=“http://schemas.android.com/apk/res-auto”
android:id="@+id/drawerlayout">
<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMode="fixed"
></android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.v4.view.ViewPager>
</LinearLayout>
<fragment
class="com.gx.rikao20181016.BlankFragment"
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="start" />
</android.support.v4.widget.DrawerLayout>
//=====================侧拉布局fragment-blank=================
<?xml version="1.0" encoding="utf-8"?>
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="侧栏" />
//=开关string==
resources>
string name=“app_name”>Rikao20181016</string
string name=“guan”>关闭</string
string name=“kai”>开启</string
Hello blank fragment
</resources
//=适配器(MyPagerAdapter)=
import android.app.Fragment;
import android.app.FragmentManager;
import android.support.v13.app.FragmentPagerAdapter;
import java.util.ArrayList;
class MyPagerAdapter extends FragmentPagerAdapter{
private ArrayList <Fragment list;
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
public void setFragments(ArrayList<Fragment> fragmentArrayLists){
list=fragmentArrayLists;
}
@Override
public Fragment getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
}
//=依赖=
implementation ‘com.android.support:support-v13:27.1.1’
implementation ‘com.android.support:cardview-v7:27.1.1’
implementation ‘com.android.support:design:27.1.1’
implementation ‘com.squareup.picasso:picasso:2.3.2’
implementation ‘com.google.code.gson:gson:2.2.4’
implementation ‘com.google.guava:guava:16.0.1’
implementation project(’:xlistviewlibrary’)