WheelView icon indicating copy to clipboard operation
WheelView copied to clipboard

为什么我的集成进去之后,没有任何皮肤嘞?

Open wmailn opened this issue 8 years ago • 6 comments

qq 20170314092428 如图片,没有任何颜色和图片

wmailn avatar Mar 14 '17 01:03 wmailn

代码中也设置了: mWheelView1.setSkin(WheelView.Skin.Common); mWheelView2.setSkin(WheelView.Skin.Holo); mWheelView3.setSkin(WheelView.Skin.None);

wmailn avatar Mar 14 '17 01:03 wmailn

qq 20170314094807

这是DEMO运行后的效果,难道是不支持 Android 7.1 ?

wmailn avatar Mar 14 '17 01:03 wmailn

解决了吗?

SXJCLZH avatar Apr 24 '17 01:04 SXJCLZH

没有 放弃这个库了

wmailn avatar Apr 24 '17 01:04 wmailn

看源码的 WheelView的第222行

private void addOnGlobalLayoutListener() { getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver .OnGlobalLayoutListener() { @Override public void onGlobalLayout() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { getViewTreeObserver().removeOnGlobalLayoutListener(this); } else { getViewTreeObserver().removeGlobalOnLayoutListener(this); } if (getChildCount() > 0 && mItemH == 0) { mItemH = getChildAt(0).getHeight(); if (mItemH != 0) { ViewGroup.LayoutParams params = getLayoutParams(); params.height = mItemH * mWheelSize; refreshVisibleItems(getFirstVisiblePosition(), getCurrentPosition() + mWheelSize / 2, mWheelSize / 2); setBackground(); } else { throw new WheelViewException("wheel item is error."); } } } }); }

他添加监听了以后 就去删除了导致后来的刷新 都出问题了。删掉

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { getViewTreeObserver().removeOnGlobalLayoutListener(this); } else { getViewTreeObserver().removeGlobalOnLayoutListener(this); }

就行了

wosika avatar May 22 '18 09:05 wosika

我也遇到这个问题,两个WheelView联动,第一个皮肤正常显示第二个就没有,查了半天发现是因为组件初始化之后就必须马上调用setWheelAdapter和setWheelData,这样就能正常显示……

LiCasey avatar Jun 20 '18 03:06 LiCasey