Closed GoogleCodeExporter closed 9 years ago
I encountered the same issue now. THere are so many screen sizes to consider
for android. k!
Original comment by Qixing...@gmail.com
on 28 Dec 2010 at 12:50
I also have the same problem on 2.1.
Original comment by swepi...@gmail.com
on 28 Dec 2010 at 7:41
I have the same problem however I have noticed you can get it to scroll a small
amount if carefully clicking in the values. It looks like the focus is getting
lost.
Original comment by PMCro...@gmail.com
on 29 Dec 2010 at 1:00
It also happens when the wheel is inside a group of linearlayouts.
Motorola Milestone running Cyanogenmod 6 (Froyo)
Unfortunately makes the view unusable. Waiting for a fix
Thanks for this great widget
Original comment by gsim...@gmail.com
on 18 Jan 2011 at 1:18
gsimoes,
Could you please provide example with a group of linear layouts?
Thanks
Original comment by yuri.kan...@gmail.com
on 18 Jan 2011 at 2:48
I've fix this issue (I hope).
Please look at
http://android-devblog.blogspot.com/2011/01/scrolling-inside-scrollview.html
I'm not able to commit the fix now because of working on another issue, will do
that later. So, please update your sources manually as described in link above
and let me know whether it works.
Thanks,
Yuriy
Original comment by yuri.kan...@gmail.com
on 18 Jan 2011 at 8:58
Unfortunately it didn´t solve my problem.
Layout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:layout_width="fill_parent">
<TextView android:layout_height="wrap_content" android:textColor="#FFFFFF"
android:layout_centerHorizontal="true" android:layout_marginTop="5dip"
android:id="@+id/tvTitle" android:textSize="16sp" android:text="Start Marker"
android:layout_width="fill_parent"
android:gravity="center_horizontal"></TextView>
<LinearLayout android:layout_height="wrap_content"
android:layout_centerHorizontal="true" android:layout_width="wrap_content"
android:layout_below="@+id/tvTitle" android:layout_marginTop="10dip"
android:id="@+id/llWheels">
<LinearLayout android:layout_toLeftOf="@+id/wvHH" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/llHH" android:orientation="vertical">
<kankan.wheel.widget.WheelView android:id="@+id/wvHH" android:layout_height="wrap_content" android:layout_width="100dip" android:layout_weight="1"/>
<TextView android:layout_height="wrap_content" android:textColor="#FFFFFF" android:textSize="12sp" android:layout_marginTop="3dip" android:text="Hour" android:layout_width="fill_parent" android:gravity="center_horizontal" android:id="@+id/tvHH"></TextView>
</LinearLayout>
<LinearLayout android:layout_toLeftOf="@+id/wvMM" android:layout_height="wrap_content" android:layout_width="wrap_content" android:orientation="vertical" android:id="@+id/llMM" android:layout_marginLeft="10dip">
<kankan.wheel.widget.WheelView android:id="@+id/wvMM" android:layout_height="wrap_content" android:layout_width="50dip"/>
<TextView android:layout_height="wrap_content" android:textColor="#FFFFFF" android:textSize="12sp" android:layout_marginTop="3dip" android:layout_width="fill_parent" android:gravity="center_horizontal" android:id="@+id/tvMM" android:text="Minutes"></TextView>
</LinearLayout>
<LinearLayout android:layout_toLeftOf="@+id/wvSS" android:layout_height="wrap_content" android:layout_width="wrap_content" android:orientation="vertical" android:id="@+id/llSS" android:layout_marginLeft="10dip">
<kankan.wheel.widget.WheelView android:id="@+id/wvSS" android:layout_height="wrap_content" android:layout_width="50dip"/>
<TextView android:layout_height="wrap_content" android:textColor="#FFFFFF" android:textSize="12sp" android:layout_marginTop="3dip" android:layout_width="fill_parent" android:gravity="center_horizontal" android:id="@+id/tvSS" android:text="Seconds"></TextView>
</LinearLayout>
<LinearLayout android:layout_toLeftOf="@+id/wvMS" android:layout_height="wrap_content" android:layout_width="wrap_content" android:orientation="vertical" android:id="@+id/llMS" android:layout_marginLeft="10dip">
<kankan.wheel.widget.WheelView android:id="@+id/wvMS" android:layout_height="wrap_content" android:layout_width="65dip"/>
<TextView android:layout_height="wrap_content" android:textColor="#FFFFFF" android:textSize="12sp" android:layout_marginTop="3dip" android:layout_width="fill_parent" android:gravity="center_horizontal" android:id="@+id/tvMS" android:text="Milli Seconds"></TextView>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
I´m using the wheel code as a library project and I´m loading this layout
inflating it in a new view and loading it inside a quick action.
I´m filling it´s values using a NumericWheelAdapter.
The behavior for me is: if I touch exactely on the gray frame it moves the
wheel just a bit. As my finger gets away from the center it stops. If I double
touch the center the number center again but I can´t scroll the wheel at all.
It´s just a prety small move.
Original comment by gsim...@gmail.com
on 19 Jan 2011 at 1:47
Solved the problem for me!
(having a WheelView inside a ScrollView)
Thank you so much!
Original comment by xshadowm...@gmail.com
on 19 Jan 2011 at 1:42
Any ideas?
Original comment by gsim...@gmail.com
on 21 Jan 2011 at 2:27
I'm working on it, will comment soon
Original comment by yuri.kan...@gmail.com
on 21 Jan 2011 at 9:02
gsimoes,
Could you please provide sources (as less as possible) that reproduce your
issue? I mean an activity code that works with this provided layout.
Provided layout works fine for me.
Original comment by yuri.kan...@gmail.com
on 23 Jan 2011 at 7:11
All I did was to add a NumericWheelAdapter to one of the wheels.
When I try to scrool it it seems to lose the touch just after my finger leaves
the center of the wheel.
As I told you this layout is inflated to a view which is exhibited as a quick
action. that´s just it. :(
Original comment by gsim...@gmail.com
on 24 Jan 2011 at 4:19
In this case it depends on your implementation of a quick action.
So, without code that reproduces this issue I'm unable to help you.
All that the wheel needs for scrolling is the touching event that depends on
the parent behavior.
Original comment by yuri.kan...@gmail.com
on 25 Jan 2011 at 1:38
I will check it out again and see if I can find a way out. I´ve tried many
native widgets and since they all work, I may find a fix for the problem.
Thanks,
Gabriel Simões
Original comment by gsim...@gmail.com
on 25 Jan 2011 at 10:36
Fixed in the latest version! thank you very much.
Original comment by gsim...@gmail.com
on 30 Jan 2011 at 6:41
Great :)
Original comment by yuri.kan...@gmail.com
on 31 Jan 2011 at 7:43
I'm experiencing this issue again, on Android 4.0 devices. The wheels refuse to
move if in a ScrollView. Works fine on pre-4.0 devices. Anyone else having this
problem?
Original comment by hohra...@gmail.com
on 15 Mar 2012 at 11:20
Im having the same problem, wheel stopped workng when my phone upgraded to 4.0
Original comment by rosa...@tradingmotion.com
on 7 Jun 2012 at 11:14
i have the same problem too: android 4.0
Original comment by zuzo...@gmail.com
on 21 Jul 2012 at 3:37
This is not fixed. I have the latest version of the Wheel but running on a real
device (Samsung Galaxy SII) with Android 4.0.4 the Wheel scrolls inside a
ScrollView but it is VERY unresponsive. I need to make sure to click precisely
in the center of the wheel hold my position for a moment and slowly scroll.
With the same wheel outside of the ScrollView it functions flawlessly.
My layout:
--------------main layout
LinearLayout
ScrollView
LinearLayout
-----------------compound control layout
LinearLayout
WheelView
WheelView
WheelView
Not sure if it matters but the direct parent of the wheel is not the ScrollView
so the call to getParent().requestDisallowInterceptTouchEvent(true) might not
be working properly. The WheelView is inside a compound control and I believe
the parent LinearLayout is being merged into the next parent so the end result
overall is only 2 LinearLayouts not 3 (I could be mistaken about that).
I tried to put a while loop in its place that recursively went through all
parent checking for ScrollViews and making the appropriate call as needed but
this didn't work either.
Original comment by akuse...@gmail.com
on 4 Feb 2013 at 6:28
[deleted comment]
I found a solution to this. In WheelView.java on line 611 change the switch
statement to the following:
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: //added to fix problem
case MotionEvent.ACTION_MOVE:
if (getParent() != null) {
getParent().requestDisallowInterceptTouchEvent(true);
}
break;
case MotionEvent.ACTION_UP:
if (getParent() != null) { //added to fix problem, this may be uneeded
getParent().requestDisallowInterceptTouchEvent(false);
}
if (!isScrollingPerformed) {
int distance = (int) event.getY() - getHeight() / 2;
if (distance > 0) {
distance += getItemHeight() / 2;
} else {
distance -= getItemHeight() / 2;
}
int items = distance / getItemHeight();
if (items != 0 && isValidItemIndex(currentItem + items)) {
notifyClickListenersAboutClick(currentItem + items);
}
}
break;
}
Original comment by akuse...@gmail.com
on 4 Feb 2013 at 6:54
Original issue reported on code.google.com by
Achim.Le...@googlemail.com
on 3 Dec 2010 at 8:33