手機直播原始碼,當前頁卡指示器的簡單實現方法

zhibo系統開發發表於2023-10-13

手機直播原始碼,當前頁卡指示器的簡單實現方法

初始化的時候先初始化與list集合size相等的圓點個數:

 
 int size = mList.size();
        initPageIndicator(size);


然後是給ViewPager設定監聽事件,並在onPageSelected方法中設定被選中的當前頁圓點為選中狀態:


 

 
 mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
 
            }
 
            @Override
            public void onPageSelected(int position) {
 
                System.out.println(position+"-----------");
                for (int i = 0; i < 4; i++) {
                    setIndicator(i, i == position);
                }
            }
 
            @Override
            public void onPageScrollStateChanged(int state) {
 
            }
        });


初始化指示點:

private void setIndicator(int i, boolean enabled) {
        View view = mIndicator.getChildAt(i);
        if (view != null) {
            view.setEnabled(enabled);
        }
    }
 
    private void initPageIndicator(int size) {
        if (size <= 1) {
            return;
        }
        for (int i = 0; i < size; i++) {
            addPageIndicator(i);
        }
 
        setIndicator(0, true);
    }
 
    private void addPageIndicator(int i) {
        View dot = new View(this);
        dot.setBackgroundResource(R.drawable.dot_bg_black_selector);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(20, 20);
        if (i != 0) {
            params.leftMargin = 40;
        }
        params.topMargin = 20;
        params.bottomMargin = 10;
        dot.setEnabled(false);
        dot.setLayoutParams(params);
        mIndicator.addView(dot);
    }


其中在初始化指示點的時候引用的drawable資料夾下的selector檔案為:


<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="
 
    <item android:drawable="@android:drawable/alert_dark_frame" android:state_enabled="true"/>
    <item android:drawable="@android:drawable/alert_light_frame" android:state_enabled="false"/>
</selector>


以上就是 手機直播原始碼,當前頁卡指示器的簡單實現方法,更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2988765/,如需轉載,請註明出處,否則將追究法律責任。

相關文章