Skip to content

Instantly share code, notes, and snippets.

@anta40
Created November 17, 2019 16:38
Show Gist options
  • Save anta40/bccd459047d677c62ea18fab89584234 to your computer and use it in GitHub Desktop.
Save anta40/bccd459047d677c62ea18fab89584234 to your computer and use it in GitHub Desktop.
package com.drp.app.testapp01;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.ViewPager;
import android.content.Context;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.Display;
import android.view.Gravity;
import android.widget.LinearLayout;
import android.widget.Toast;
import com.drp.app.testapp01.fragment.RegistrationFragment0;
import com.drp.app.testapp01.fragment.RegistrationFragment1;
import com.drp.app.testapp01.fragment.RegistrationFragment2;
import com.drp.app.testapp01.fragment.RegistrationFragment3;
import com.drp.app.testapp01.fragment.RegistrationFragment4;
import com.drp.app.testapp01.fragment.RegistrationFragment5;
import com.ydn.viewpagerwithicons.StateViewPager;
public class MainActivity extends AppCompatActivity {
private StateViewPager mPager;
private MyPagerAdapter mPagerAdapter;
private final int NUM_PAGES = 6;
private int mOrientatation = LinearLayout.HORIZONTAL;
private int mGravity = Gravity.TOP;
private int mCurrentConfiguration = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mPager = (StateViewPager) findViewById(R.id.mainsvpager);
Display display = ((android.view.WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
mPager.getLayoutParams().height = (int) (display.getHeight() );
mPagerAdapter = new MyPagerAdapter(getSupportFragmentManager());
mPager.setCurrentItem(0);
mPager.setAdapter(mPagerAdapter);
mPagerAdapter.notifyDataSetChanged();
mPager.requestLayout();
mPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
//Toast.makeText(getApplicationContext(), "Crotzzz", Toast.LENGTH_SHORT).show();
}
@Override
public void onPageSelected(int position) {
// ???
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
initUI();
}
private void initUI() {
mPager.setIntermediateIconSize(3, 100);
if (mOrientatation == LinearLayout.HORIZONTAL) {
mPager.setIntermediateIconSize(100, 3);
}
mPager.setNumberOfIcons(6)
.setMargins(30, 30, 10, 25)
.setIconSize(30, 30)
.setSelectedIconSize(30, 30)
.setOnIconClickListener(new StateViewPager.OnIconClickListener() {
@Override
public void onIconClick(int iconNum) {
mPager.setPage(iconNum, true);
}
})
.setMarginBetweenIcons(5)
.setShowCheckmarks(true, true, false)
.setCheckmarkColors(Color.WHITE, Color.WHITE, 0)
.setTitles(new String[]{"Info Pribadi",
"Detail Alamat",
"Survei #1",
"Survei #2",
"Survei #3",
"Selesai"})
.setIconColors(Color.parseColor("#1AC512"), Color.parseColor("#1AC512"), Color.LTGRAY)
.setRectangularIcons(false, false, false)
.setBorderSizes(0, 0, 2)
.setBorderColors(0, 0, Color.GRAY)
.setTextColors(Color.GRAY, Color.GRAY, Color.GRAY)
.setTextStyles(0, Typeface.BOLD, 0)
.setTextGravities(Gravity.BOTTOM, Gravity.BOTTOM, Gravity.BOTTOM)
.setTextSizes(12, 12, 12)
.setTextMargins(10, 10, 10)
.setIntermediateIconColors(Color.parseColor("#1AC512"), Color.GRAY)
.setIntermediateIconStyles("solid", "dotted")
.setShowNumbers(false, false, true);
}
private class MyPagerAdapter extends FragmentStatePagerAdapter {
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new RegistrationFragment0();
case 1:
return new RegistrationFragment1();
case 2:
return new RegistrationFragment2();
case 3:
return new RegistrationFragment3();
case 4:
return new RegistrationFragment4();
case 5:
return new RegistrationFragment5();
}
return new RegistrationFragment0();
}
@Override
public int getCount() {
return NUM_PAGES;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment