恢复CrimeActivity 的边距
只需要修改fragment_crimes.xml文件即可。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="16dp"
android:orientation="vertical">
如上,将android:layout_margin=”16dp”改为
android:padding="16dp"
即可。
添加jump to first/last按钮
- 修改activity_crime_pager.xml布局文件,新增两个按钮
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:id="@+id/activity_crime_pager_view_pager"/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/start"
android:text="to First"
android:layout_gravity="bottom|left"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/end"
android:layout_gravity="center|right"
android:text="to last"/>
</FrameLayout>
</LinearLayout>
- 接下来在CrimePagerActivity中为button添加点击事件,并且设置在第一页和最后一页不显示button按钮,在其他页显示
定义:
private Button btn_start,btn_end;
onCreate()中实现:
btn_end=(Button)findViewById(R.id.end);
btn_start=(Button)findViewById(R.id.start);
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if(position==0||position==mCrimes.size()-1){
btn_end.setVisibility(View.INVISIBLE);
btn_start.setVisibility(View.INVISIBLE);
}else {
btn_end.setVisibility(View.VISIBLE);
btn_start.setVisibility(View.VISIBLE);
}
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
btn_start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mViewPager.setCurrentItem(0);
}
});
btn_end.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mViewPager.setCurrentItem(mCrimes.size()-1);
}
});