AndroidのUIライブラリ、CircleIndicatorを使ってみた。
アプリをインストールした後に、スワイプしながら、アプリの使用方法を表示しますよね。
viewPagerのインディケータ系のライブラリですよ。
いつもの
compile 'me.relex:circleindicator:1.1.5@aar'
ViewPagerと連動しますので、ちょっとめんどくさいですが
一つのファイルにまとめました。
import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import java.util.Random; import me.relex.circleindicator.CircleIndicator; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ViewPager defaultViewpager = (ViewPager) findViewById(R.id.viewpager_default); CircleIndicator defaultIndicator = (CircleIndicator) findViewById(R.id.indicator_default); DemoPagerAdapter defaultPagerAdapter = new DemoPagerAdapter(getSupportFragmentManager()); defaultViewpager.setAdapter(defaultPagerAdapter); defaultIndicator.setViewPager(defaultViewpager); } public static class ColorFragment extends Fragment { private static final String ARG_COLOR = "color"; private int mColor; public static ColorFragment newInstance(int param1) { ColorFragment fragment = new ColorFragment(); Bundle args = new Bundle(); args.putInt(ARG_COLOR, param1); fragment.setArguments(args); return fragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getArguments() != null) { mColor = getArguments().getInt(ARG_COLOR); } } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.color_fragment, container, false); v.setBackgroundColor(mColor); return v; } } public class DemoPagerAdapter extends FragmentPagerAdapter { private int pagerCount = 6; private Random random = new Random(); public DemoPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int i) { return ColorFragment.newInstance(0xff000000 | random.nextInt(0x00ffffff)); } @Override public int getCount() { return pagerCount; } } }
activity_main.xml
<LinearLayout 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" android:orientation="vertical" tools:context=".MainActivity"> <RelativeLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"> <android.support.v4.view.ViewPager android:id="@+id/viewpager_default" android:layout_width="match_parent" android:layout_height="match_parent"/> <me.relex.circleindicator.CircleIndicator android:id="@+id/indicator_default" android:layout_alignParentBottom="true" android:layout_centerInParent="true" android:layout_width="fill_parent" android:layout_height="40dp"/> </RelativeLayout> </LinearLayout>
color_fragment.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"/>