TabLayout是android design包内的控件;
一般情况下,它总是喜欢和ViewPager成对出现;
典型的像如下的布局:
然后就是结合了,由于我们通常在ViewPager中放置的是若干个Fragment,所以还得先实现几个Fragment,典型的像下面这个:
一般情况下,它总是喜欢和ViewPager成对出现;
典型的像如下的布局:
<!-- 如果你屏幕上显示只有少数 tab 的时候,可以设置tabMode="fixed",若很多需要拖动,则设置tabMode="scroll" --> <!-- 如果 tabMode 设置成 scrollable 的,则tabGravity属性将会被忽略 --> <!-- 其他可设置属性 app:tabIndicatorColor="#FF00FF00" app:tabSelectedTextColor="#FF00FF00" app:tabTextColor="#FF000000" --> <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" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" />
然后就是结合了,由于我们通常在ViewPager中放置的是若干个Fragment,所以还得先实现几个Fragment,典型的像下面这个:
public class MoveFragment extends Fragment implements OnClickListener {
private String curFlag;
public static MoveFragment newInstance(String flag){
MoveFragment fragment = new MoveFragment();
Bundle bundle = new Bundle();
bundle.putString("Flag", flag);
fragment.setArguments(bundle);
return fragment;
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle args = getArguments();
if (args != null) {
curFlag = args.getString("Flag");
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view = inflater.inflate(R.layout.fragment_move, container,false);
initViews(view);
return view;
}
public void initViews(View view){
TextView tv=(TextView)view.findViewById(R.id.tv);
tv.setText(curFlag);
}
@Override
public void onCli