17

こんにちは、ビューページャーを作成しましたが、ページビューでページネーションを表す円を表示する方法を知っている人はいますか?

私のビューページャーを含むこれまでのコードはこちら

public class LevelSelect extends Activity {

    private ViewPager awesomePager;
    private static int NUM_AWESOME_VIEWS = 10;
    private Context cxt;
    private AwesomePagerAdapter awesomeAdapter;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_levelselect);
        cxt = this;

        awesomeAdapter = new AwesomePagerAdapter();
        awesomePager = (ViewPager) findViewById(R.id.viewpager);
        awesomePager.setAdapter(awesomeAdapter);
    }

    private class AwesomePagerAdapter extends PagerAdapter{


        @Override
        public int getCount() {
            return NUM_AWESOME_VIEWS;
        }


        @Override
        public Object instantiateItem(View collection, int position) {

            LayoutInflater mLayoutInflater = (LayoutInflater) collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            final View LeagueButtonView = mLayoutInflater.inflate(R.layout.ls_button, null);
            Button LeagueButton = (Button) LeagueButtonView.findViewById(R.id.league);
            LeagueButton.setBackgroundDrawable(getResources().getDrawable(R.drawable.ls_level_eng1_locked));
            ((ViewPager) collection).addView(LeagueButtonView,0);

            return LeagueButtonView;
        }


        @Override
        public void destroyItem(View collection, int position, Object view) {
            ((ViewPager) collection).removeView((View) view);
        }



        @Override
        public boolean isViewFromObject(View view, Object object) {
            return view==((View)object);
        }


        @Override
        public void finishUpdate(View arg0) {}


        @Override
        public void restoreState(Parcelable arg0, ClassLoader arg1) {}

        @Override
        public Parcelable saveState() {
            return null;
        }

        @Override
        public void startUpdate(View arg0) {}

    }
4

2 に答える 2

14

Jake Wharton の ViewPagerIndicator を使用して、ViewPager の各タブにタイトルまたは単純な円を追加できます。

Jake Wharton はGitHubで多数のサンプル コードを提供しています。Jake Wharton のサイトの使用セクションも参照できます。

ここに画像の説明を入力

Greendroid ライブラリの ViewPager と PageIndicator も使用できます。

ここに画像の説明を入力

于 2012-07-14T18:47:53.520 に答える
1

2つの画像(円またはその他の形状の画像を1つオフ用、もう1つオン用)を撮ります。1 つのフレーム レイアウトを取り、フレームに画像 (インジケーター) を表示します。ユーザーが画像を変更すると、適切なインジケーターが表示されます。

私はこれを実装し、正常に動作しています。コードを ダウンロードして、それに応じて変更できます。ここに画像の説明を入力

于 2016-01-13T16:15:22.480 に答える