BaseAdapter
public class BaseActivity extends AppCompatActivity{ @Override public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) { super.onCreate(savedInstanceState, persistentState); //隐藏标题栏 //getSupportActionBar().hide(); //显示标题栏 ActionBar actionBar = getSupportActionBar(); //设置箭头 actionBar.setDisplayHomeAsUpEnabled(true); } }
MainActivity
import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.view.MenuItem; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.ListView; import com.example.newsinfo2.adapter.MyFragmentAdapter; import java.util.ArrayList; import java.util.List;
public class MainActivity extends BaseActivity { private DrawerLayout drawerLayout; private ListView lv; private List<String> list = new ArrayList<String>(); private ActionBarDrawerToggle toggle; private ImageView iv; private TabLayout tablayout; private String[] title = new String[]{"推荐","社会","新闻","军事","游戏","热门","我的"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取组件id drawerLayout = (DrawerLayout) findViewById(R.id.drawerlayout); lv = (ListView) findViewById(R.id.lv); iv = (ImageView) findViewById(R.id.iv); tablayout = (TabLayout) findViewById(R.id.tablayout); initData(); initView(); } //添加数据 private void initData(){ for (int i = 0; i < 10; i++){ list.add("哈哈哈"+i); } } private void initView(){ //初始化ActionBar toggle = new ActionBarDrawerToggle(this,drawerLayout,R.string.openDrawer,R.string.closeDrawer); //设置状态同步 toggle.syncState(); drawerLayout.addDrawerListener(toggle); //设置适配器 ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,list); lv.setAdapter(adapter); for (String str : title){ tablayout.addTab(tablayout.newTab().setText(str)); } MyFragmentAdapter fragmentAdapter = new MyFragmentAdapter(getSupportFragmentManager()); iv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(drawerLayout.isDrawerOpen(lv)){ drawerLayout.closeDrawer(lv); }else{ drawerLayout.openDrawer(lv); } } }); } @Override public boolean onOptionsItemSelected(MenuItem item) { return toggle.onOptionsItemSelected(item)|super.onOptionsItemSelected(item); } }
MyFragmentAdapter
package com.example.newsinfo2.adapter; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import java.util.List; /** * Created by la on 2017/9/1. */ public class MyFragmentAdapter extends FragmentPagerAdapter{ public MyFragmentAdapter(FragmentManager fm) { super(fm); } private List<Fragment> fragments; public void setFragments(List<Fragment> fragments) { this.fragments = fragments; } @Override public Fragment getItem(int position) { return fragments.get(position); } @Override public int getCount() { return fragments.size(); } }
xml
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout android:id="@+id/drawerlayout" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.newsinfo2.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal" > <ImageView android:id="@+id/iv" android:layout_width="30dp" android:layout_height="30dp" android:src="@mipmap/default_round_head" android:layout_weight="1" android:layout_marginTop="10dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="今日头条" android:textSize="30dp" android:layout_weight="3" android:layout_marginLeft="60dp" android:layout_marginTop="10dp" android:textColor="@color/colorAccent" /> <ImageView android:layout_width="30dp" android:layout_height="30dp" android:src="@mipmap/sousuo" android:layout_weight="1" android:layout_marginTop="10dp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:layout_marginTop="50dp"> <android.support.design.widget.TabLayout android:id="@+id/tablayout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabMode="scrollable"> </android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v4.view.ViewPager> </LinearLayout> <ListView android:id="@+id/lv" android:layout_width="200dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="@color/colorPrimary" > </ListView> </android.support.v4.widget.DrawerLayout>