github.com
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
MainActivity.java
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.astuetz.PagerSlidingTabStrip;
public class MainActivity extends AppCompatActivity {
private DrawerLayout vDrawerLayout;
private ActionBarDrawerToggle vDrawerToggle;
private ListView vListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(new TestAdapter(getSupportFragmentManager()));
PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tab_strip);
tabs.setViewPager(pager);
Toolbar toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
toolbar.setPopupTheme(R.style.PopupMenu);
vDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
initDrawer();
vListView = (ListView) findViewById(R.id.listview);
vListView.setAdapter(new ArrayAdapter<String>(
this, android.R.layout.simple_list_item_1, new String[]{"menu 1", "menu 2", "menu 3", "menu 4", "menu 5"}));
}
protected void onPostCreate(Bundle savedInstanceState) {
super .onPostCreate(savedInstanceState);
vDrawerToggle.syncState();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super .onConfigurationChanged(newConfig);
vDrawerToggle.onConfigurationChanged(newConfig);
}
private class TestAdapter extends FragmentPagerAdapter {
private final String[] TITLES = {"スポーツ", "芸能", "食べ物","ニュース","IT"};
public TestAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new Fragment1();
case 1:
return new Fragment1();
case 2:
return new Fragment1();
case 3:
return new Fragment1();
case 4:
return new Fragment1();
case 5:
return new Fragment1();
}
return null;
}
@Override
public int getCount() {
return TITLES.length;
}
@Override
public CharSequence getPageTitle(int position) {
return TITLES[position];
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
private void initDrawer() {
vDrawerToggle = new ActionBarDrawerToggle( this , vDrawerLayout, R.string.app_name, R.string.app_name);
vDrawerToggle.setDrawerIndicatorEnabled( true );
vDrawerLayout.setDrawerListener(vDrawerToggle);
getSupportActionBar().setDisplayHomeAsUpEnabled( true );
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
return vDrawerToggle.onOptionsItemSelected(item) || super.onOptionsItemSelected(item);
}
public static class Fragment1 extends Fragment {
@Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment, container, false);
}
}
}
activity_main.xml
<androidsupportv4widgetDrawerLayout xmlnsandroid="http://schemas.android.com/apk/res/android"
xmlnsapp="http://schemas.android.com/tools"
androidid="@+id/drawer_layout"
androidlayout_width="match_parent"
androidlayout_height="match_parent">
<RelativeLayout
androidlayout_width="fill_parent"
androidlayout_height="fill_parent">
<androidsupportv7widgetToolbar
androidid="@+id/tool_bar"
androidlayout_height="wrap_content"
androidlayout_width="match_parent"
androidelevation="5dp"
androidlayout_alignParentLeft = "true"
androidlayout_alignParentStart = "true"
androidlayout_alignParentTop = "true"
androidtheme="@style/ToolbarTheme"
apppopupTheme="@style/PopupMenu"
androidminHeight="?attr/actionBarSize"
androidbackground="?attr/colorPrimary">
</androidsupportv7widgetToolbar>
<comastuetzPagerSlidingTabStrip
androidid="@+id/tab_strip"
androidlayout_below = "@+id/tool_bar"
androidlayout_width="match_parent"
androidlayout_height="48dp"
androidbackground="?attr/colorPrimary"
androidtextColor="#ffffff"
androidtextSize="14sp"
apppstsDividerColor="@android:color/transparent"
apppstsIndicatorColor="@color/white"
apppstsIndicatorHeight="2dp"
apppstsShouldExpand="true"
apppstsUnderlineColor="@android:color/transparent" />
<androidsupportv4viewViewPager
androidid="@+id/pager"
androidlayout_below = "@+id/tab_strip"
androidlayout_height="wrap_content"
androidfocusable="false"
androidnestedScrollingEnabled="false"
androidlayout_width="match_parent" />
</RelativeLayout>
<LinearLayout
androidlayout_width="280dp"
androidlayout_height="match_parent"
androidlayout_gravity="start"
androidbackground="#fff">
<ListView
androidid="@+id/listview"
androidlayout_width="fill_parent"
androidlayout_height="match_parent" />
</LinearLayout>
</androidsupportv4widgetDrawerLayout>
fragment.xml
<FrameLayout xmlnsandroid="http://schemas.android.com/apk/res/android"
androidlayout_width="match_parent"
androidlayout_height="match_parent">
<ListView
androidid="@android:id/list"
androidlayout_width="match_parent"
androidlayout_height="match_parent" />
</FrameLayout>
styles.xml
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimaryDark">#212121</item>
<item name="colorPrimary">#212121</item>
<item name="android:textColorPrimary">#000000</item>
<item name="android:textColorSecondary">#ffffff</item>
</style>
<style name="ToolbarTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:textColorPrimary">#ffffff</item>
<item name="colorPrimaryDark">#212121</item>
<item name="colorPrimary">#212121</item>
<item name="android:textColorSecondary">#ffffff</item>
</style>
<style name="PopupMenu" parent="Base.ThemeOverlay.AppCompat">
<item name="android:background">#ffffff</item>
<item name="android:textColorPrimary">#999999</item>
</style>
<style name="toolbarSpinnerStyle" parent="Widget.AppCompat.Light.Spinner.DropDown.ActionBar">
<item name="android:background">?android:selectableItemBackground</item>
<item name="android:dropDownSelector">?android:selectableItemBackground</item>
<item name="android:divider">@null</item>
<item name="android:dividerHeight">0dp</item>
<item name="overlapAnchor">true</item>
</style>
</resources>