編集するファイルはそんなに多くはありません。
順番にコピペしていけば、使えるようになるはず。
(追記)以下のエントリーへ書き換えしました。
knowledge.moshimore.jp
knowledge.moshimore.jp
knowledge.moshimore.jp
ソースコード
MainActivity.java
import android.net.Uri; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; public class MainActivity extends AppCompatActivity implements ViewPager.OnPageChangeListener, PageFragment.OnFragmentInteractionListener { private static final String[] pageTitle = {"PAGE1", "PAGE2", "PAGE3"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle("TITLE"); setSupportActionBar(toolbar); TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); ViewPager viewPager = (ViewPager) findViewById(R.id.pager); FragmentPagerAdapter fragmentPagerAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { return PageFragment.newInstance(position + 1); } @Override public CharSequence getPageTitle(int position) { return pageTitle[position]; } @Override public int getCount() { return pageTitle.length; } }; viewPager.setAdapter(fragmentPagerAdapter); viewPager.addOnPageChangeListener(this); tabLayout.setupWithViewPager(viewPager); } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {} @Override public void onPageSelected(int position) {} @Override public void onPageScrollStateChanged(int state) {} @Override public void onFragmentInteraction(Uri uri) {} }
PageFragment.java
import android.content.Context; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; public class PageFragment extends Fragment { private static final String PAGE = "PAGE"; private OnFragmentInteractionListener onFragmentInteractionListener; public PageFragment() {} public static PageFragment newInstance(int page) { Bundle bundle = new Bundle(); bundle.putInt(PAGE, page); PageFragment pageFragment = new PageFragment(); pageFragment.setArguments(bundle); return pageFragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { int page = getArguments().getInt(PAGE, 0); View view = inflater.inflate(R.layout.fragment_page, container, false); TextView textView =(TextView)view.findViewById(R.id.textView); textView.setText(String.valueOf(page)); return view; } @Override public void onAttach(Context context) { super.onAttach(context); if (context instanceof OnFragmentInteractionListener) { onFragmentInteractionListener = (OnFragmentInteractionListener) context; } else { throw new RuntimeException(); } } @Override public void onDetach() { super.onDetach(); onFragmentInteractionListener = null; } interface OnFragmentInteractionListener { void onFragmentInteraction(Uri uri); } }
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" /> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/toolbar"/> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/tabs" /> </RelativeLayout>
fragment_page.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Page" android:id="@+id/textView" android:layout_centerVertical="true" android:layout_centerHorizontal="true" /> </RelativeLayout>
styles.xml
<resources> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> </resources>
build.gradle
dependencies { // 以下を追加 compile 'com.android.support:design:25.3.1' }
以上、コピペでTabLayoutを使う方法についてでした。