2016-09-26 10 views
-3

サークルページインジケータを使用するには、どのような依存関係を使用する必要がありますか?水平スクロールビューで画像をスクロールするときに円のページインジケータを作成する方法は?

これは私の依存関係ファイルです:

代わり
compile 'com.android.support:appcompat-v7:24.1.0' 
compile 'com.android.support:design:24.1.0' 
compile 'com.android.support:cardview-v7:24.1.0' 
compile 'com.android.support:support-v4:24.1.0' 
compile 'com.android.support:palette-v7:24.1.0' 
compile 'me.relex:circleindicator:[email protected]' 
testCompile 'junit:junit:4.12' 

答えて

0

私はあなたがそれを下回る、ViewPagerと同じレイアウトでシンプルな横のLinearLayoutを使用することをお勧めします。このLinearLayoutには、ViewPagerのページと同じ数のTextViewを入力します。そして、テキストとして各TextViewに円のhtmlコードを入れます。 textView.setText(Html.fromHtml("&#9675")); ページが変更されたときに、選択したサークルの色を動的に変更し、各TextViewでonClickListenerを追加してViewPagerのページを変更します。同じアイディアがhereとして使われています。

private void addBottomDots(int currentPage) { 
    dots = new TextView[layouts.length]; 

    int[] colorsActive = getResources().getIntArray(R.array.array_for_active_dot); 
    int[] colorsInactive = getResources().getIntArray(R.array.array_for_inactive_dot); 

    dotsLayout.removeAllViews(); 
    for (int i = 0; i < dots.length; i++) { 
     dots[i] = new TextView(this); 
     dots[i].setText(Html.fromHtml("&#8226;")); 
     dots[i].setTextSize(35); 
     dots[i].setTextColor(colorsInactive[currentPage]); 
     dotsLayout.addView(dots[i]); 
    } 

    if (dots.length > 0) 
     dots[currentPage].setTextColor(colorsActive[currentPage]); 
} 

そして毎回ページが変更され、それを呼び出す:メソッドにaddBottomDots注意を払う

public void onPageSelected(int position) { 
     addBottomDots(position); 
     //... and so on, your code goes here 
} 

はそれがお役に立てば幸いです。

関連する問題