第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android MPAndroidChart LineChart 如何完全忽略 ViewPager

Android MPAndroidChart LineChart 如何完全忽略 ViewPager

楊魅力 2023-03-02 10:04:16
我試圖讓 mpandroidchart 中的折線圖忽略 fragmentviewpager,并且在觸摸視圖時只移動折線圖而不移動 viewpager。我的問題是如何存檔?我找到了這個解決方案,但不知道如何實施,也許你們可以幫助我了解如何實施它? https://github.com/PhilJay/MPAndroidChart/issues/1885#issuecomment-267568663公共類 PagerAdapter 擴展 FragmentStatePagerAdapter {int mNumberOfTabs;public PagerAdapter(FragmentManager fm, int NumberOfTabs) {    super(fm);    this.mNumberOfTabs = NumberOfTabs;}@Overridepublic Fragment getItem(int position) {    switch (position) {        case 0:            IncomeOutcomeOverviewFragment incomeOutcomeOverviewFragment = new IncomeOutcomeOverviewFragment();            return incomeOutcomeOverviewFragment;        case 1:            IncomeFragment incomeFragment = new IncomeFragment();            return incomeFragment;        case 2:            OutcomeFragment outcomeFragment = new OutcomeFragment();            return outcomeFragment;        default:            return null;    }}@Overridepublic int getCount() {    return mNumberOfTabs;}}
查看完整描述

2 回答

?
千巷貓影

TA貢獻1829條經(jīng)驗 獲得超7個贊

我認為您想要的不是可滑動的視圖尋呼機,因為您必須像這樣創(chuàng)建自定義視圖尋呼機


更新@anomynous建議的更改


 public class NonSwipeableViewPager extends ViewPager {


        boolean enabled = false;


        public NonSwipeableViewPager(Context context) {

            super(context);

            setMyScroller();

        }


        public NonSwipeableViewPager(Context context, AttributeSet attrs) {

            super(context, attrs);

            setMyScroller();

        }


        @Override


        public boolean onInterceptTouchEvent(MotionEvent event) {

            if (this.enabled) {

                return false;

            }

            return super.onInterceptTouchEvent(event);


        }


        @SuppressLint("ClickableViewAccessibility")

        @Override

        public boolean onTouchEvent(MotionEvent event) {

            if (this.enabled) {

                return false;

            }

            return super.onTouchEvent(event);


        }


        //down one is added for smooth scrolling


        private void setMyScroller() {

            try {

                Class<?> viewpager = ViewPager.class;

                Field scroller = viewpager.getDeclaredField("mScroller");

                scroller.setAccessible(true);

                scroller.set(this, new MyScroller(getContext()));

            } catch (Exception e) {

                e.printStackTrace();

            }

        }


        public class MyScroller extends Scroller {

            public MyScroller(Context context) {

                super(context, new DecelerateInterpolator());

            }


            @Override

            public void startScroll(int startX, int startY, int dx, int dy, int duration) {

                super.startScroll(startX, startY, dx, dy, 350 /*1 secs*/);

            }

        }


        public void setPagingDisabled(boolean enabled) {

            this.enabled = enabled;

        }

    }


Then on my linechart I used onChartGestureStart and onChartGestureEnd to enable or disable the pageview:


    @Override

        public void onChartGestureStart(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture) {

            nonSwipeableViewPager.setPagingDisabled(true);

        }


        @Override

        public void onChartGestureEnd(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture) {

            nonSwipeableViewPager.setPagingDisabled(false);

        }

用 xml 中的自定義 viewpager 替換默認 viewpager


查看完整回答
反對 回復(fù) 2023-03-02
?
阿晨1998

TA貢獻2037條經(jīng)驗 獲得超6個贊

您需要為您的圖表禁用觸摸,您可以使用此代碼,

chart.setTouchEnabled(true);


查看完整回答
反對 回復(fù) 2023-03-02
  • 2 回答
  • 0 關(guān)注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號