スワイプを含むタブの実装についての例です。
http://furudate.hatenablog.com/entry/2013/06/10/232244
ご参考になれば良いのですが。
sasada様コメントありがとうございます。
sasada様よりご指摘を頂きましたので、現在作成中のソースコードを公開させていただきます。
不慣れなものでもし見にくかったらすみません・・・
現在、PagerTitleStripを用いて実装を試みているのですが、他に何か有用なライブラリなどもございましたら教えていただけるとありがたいです。
【activity_main.xml】
-----------------------------------
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v4.view.PagerTitleStrip
android:id="@+id/strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:paddingBottom="15dp"
android:paddingTop="15dp" />
</android.support.v4.view.ViewPager>
-----------------------------------
【fragment_main.xml】
-----------------------------------
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textStyle="bold"
android:layout_centerInParent="true" />
</RelativeLayout>
-----------------------------------
【MainActivity.java】
-----------------------------------
package com.example.tabdemo;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.PagerTitleStrip;
import android.support.v4.view.ViewPager;
import android.os.Bundle;
import android.util.TypedValue;
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager pager = (ViewPager) findViewById(R.id.pager);
PagerTitleStrip strip = (PagerTitleStrip) findViewById(R.id.strip);
strip.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);
strip.setTextSpacing(50);
strip.setNonPrimaryAlpha(0.3f);
CustomFragmentPagerAdapter adapter = new CustomFragmentPagerAdapter(getSupportFragmentManager());
PageItem pageItem1 = new PageItem();
pageItem1.text = "AAA";
adapter.addItem(pageItem1);
PageItem pageItem2 = new PageItem();
pageItem2.text = "BBB";
adapter.addItem(pageItem2);
PageItem pageItem3 = new PageItem();
pageItem3.text = "CCC";
adapter.addItem(pageItem3);
pager.setAdapter(adapter);
}
}
-----------------------------------
【CustomFragmentPagerAdapter.java】
-----------------------------------
package com.example.tabdemo;
import java.util.ArrayList;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class CustomFragmentPagerAdapter extends FragmentPagerAdapter {
private ArrayList<PageItem> mList;
public CustomFragmentPagerAdapter(FragmentManager fm) {
super(fm);
mList = new ArrayList<PageItem>();
}
@Override
public Fragment getItem(int position) {
PageItem item = mList.get(position);
MainFragment mainFragment = new MainFragment();
Bundle bundle = new Bundle();
bundle.putString("text", item.text);
mainFragment.setArguments(bundle);
return mainFragment;
}
@Override
public CharSequence getPageTitle(int position) {
return mList.get(position).text;
}
@Override
public int getCount() {
return mList.size();
}
public void addItem(PageItem item) {
mList.add(item);
}
}
-----------------------------------
【MainFragment.java】
-----------------------------------
package com.example.tabdemo;
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 MainFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_main, container, false);
String text = (String) getArguments().getString("text");
TextView textView = (TextView) view.findViewById(R.id.text);
textView.setText(text);
return view;
}
}
-----------------------------------
【PageItem.java】
-----------------------------------
package com.example.tabdemo;
public class PageItem {
public String text;
}
-----------------------------------