侧拉和Fragment——MainActivity

//=====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’)

猜你喜欢

转载自blog.csdn.net/qq_42811815/article/details/83267842