Thanks for your help.

On 12月17日, 下午5時04分, Dianne Hackborn <[email protected]> wrote:
> This gives a third party developers' perspective on the 
> issue:http://android-developers.blogspot.com/2010/09/one-screen-turn-deserv...
>
> Note that many apps still do this wrong, so you need to make sure you are
> looking at the apps are right and not getting confused by the ones that are
> wrong.
>
>
>
> On Thu, Dec 16, 2010 at 7:23 PM, blackjack <[email protected]> wrote:
> > Hi,
>
> > I have two questions about the accelerometer, screen size and
> > orientation in Android (froyo).
>
> > The width of my screen is large than the height (The appearance likes
> > pic 1).
> > It doesn't like smart phone or Galaxy tablet.
>
> > pic 1.
> > +================+
> > +                                +
> > +                                +
> > +================+
>
> > //***************
> > Q1: The following information is reported from my device.
> >       I want to double check these behaviour follow
> >       the standard of Android framework.
> >       Is this information correct and follow the standard?
> >       If it is not, what the standard is.
>
> > When the device lies flat on a table.
>
> > Driver of accelerometer output:
> > (x, y, z)
> > Pull up the left side of device   : value y is changed from 0 to
> > negative
> > Pull up the right side of device  : value y is changed from 0 to
> > positive
> > Pull up the top side of device    : value x is changed from 0 to
> > negative
> > Pull up the bottom side of device : value x is changed from 0 to
> > positive
>
> > In the HAL of accelerometer, I rotate it to fit my device.
> >    data->acceleration.y = -(x * CONVERT);
> >    data->acceleration.x = y * CONVERT;
> >    data->acceleration.z = z * CONVERT;
> > where data is pointer of type sensors_data_t and the values
> > of right hand side x,y,z are fetched from driver.
>
> > The log from calculateNewRotation function of
> > WindowOrientationListener.java of Android framework.
> > Initial value:
> > I/WindowOrientationListener(  111): 85, 60, 0
> > Pull up the left side of device:
> > I/WindowOrientationListener(  111):  new rotation = 2
> > I/WindowOrientationListener(  111): 82, 59, 2
> > I/WindowOrientationListener(  111): 83, 60, 2
> > I/WindowOrientationListener(  111): 83, 57, 2
> > I/WindowOrientationListener(  111): 83, 55, 2
> > Pull up the right side of device:
> > I/WindowOrientationListener(  111):  new rotation = 1
> > I/WindowOrientationListener(  111): 273, 49, 1
> > I/WindowOrientationListener(  111): 272, 46, 1
> > I/WindowOrientationListener(  111): 270, 45, 1
> > I/WindowOrientationListener(  111): 269, 41, 1
> > Pull up the top side of device:
> > I/WindowOrientationListener(  111):  new rotation = 0
> > I/WindowOrientationListener(  111): 338, 50, 0
> > I/WindowOrientationListener(  111): 348, 43, 0
> > I/WindowOrientationListener(  111): 350, 27, 0
> > I/WindowOrientationListener(  111): 351, 27, 0
> > Pull up the bottom side of device:
> > I/WindowOrientationListener(  111):  new rotation = 1
> > I/WindowOrientationListener(  111): 177, 44, 1
> > I/WindowOrientationListener(  111): 178, 34, 1
> > I/WindowOrientationListener(  111): 178, 34, 1
> > I/WindowOrientationListener(  111): 177, 30, 1
>
> > The output of the application uses sensor manager:
> > Pull up the left side of device   : value x is changed from 0 to
> > negative
> > Pull up the right side of device  : value x is changed from 0 to
> > positive
> > Pull up the top side of device    : value y is changed from 0 to
> > positive
> > Pull up the bottom side of device : value y is changed from 0 to
> > negative
>
> > //***************
> > Q2: When I run the Gallery3D, the behaviour is incorrect.
> >    Then I find in the GridInputProcessor.java of Gallery3D has
> >    one line to determine which value of sensor will be used.
> >    The code is in below.
> >    float valueToUse = (mCamera.mWidth < mCamera.mHeight) ?
> > values[0] : -values[1];
>
> >    So when I rotate my device around Y axis of my device, the
> > pictures of Gallery3D will be rotate around X axis.
> >    When I rotate my device around X axis of my device, the pictures
> > of Gallery3D will be rotate around Y axis.
>
> >    The other games (labyrinth and Amazed) also can't work correctly
> > in my device.
>
> >    My question is:
> >    If the question 1 follow the standard of Android framework.
> >    Is there any method make all applications can work
> >    correctly in my device?
> >    Should I modify the framework? How to modify?
> >    Or the applications should modify their behaviour to fit the
> > different device.
>
> > //***************
>
> > Thank you.
>
> > --
> > unsubscribe: 
> > [email protected]<android-porting%[email protected]>
> > website:http://groups.google.com/group/android-porting
>
> --
> Dianne Hackborn
> Android framework engineer
> [email protected]
>
> Note: please don't send private questions to me, as I don't have time to
> provide private support, and so won't reply to such e-mails.  All such
> questions should be posted on public forums, where I and others can see and
> answer them.

-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting

Reply via email to