android6 屏幕显示问题

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

android6 屏幕显示问题

1,063 Views
blackhuang
Contributor I

Hi 

      使用的是6q6a 系统为android6.0做的车载设备,屏幕分辨率为800x480

系统默认屏幕显示方向为竖屏,但是第一次上电后发现设置app和部分app中字体出现翻转现象和闪屏

整个系统都是竖屏、有部分app打开后会翻转为横屏、横屏显示时闪屏特别严重

pastedImage_1.png

在串口中使用reboot或者按复位键后就正常显示啦

部分参数如下:

         setprop ro.sf.hwrotation 0

         <integer name="def_user_rotation">0</integer>

   

         <bool name="def_accelerometer_rotation">false</bool>

请教一下NXP大神们,还有那些地方可以改进,非常期待你们的回复!

Labels (2)
0 Kudos
7 Replies

840 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi, black,

    请这样做一下试验:

    按住reset按钮不放,上电,等电源差不多稳定了,松开reset按钮,让系统启动。

    看android显示是否正常。

Have a nice day!

BR,

Weidong

0 Kudos

840 Views
blackhuang
Contributor I

hi weidong

               非常感谢您的回复

        我按照你的建议尝试还是没有效果、

我将setprop ro.sf.hwrotation 0  改成setprop ro.sf.hwrotation 1就可以、或者我在frameworks下面更改app为横屏也没这样的问题

是不是还是frameworks这里出现了问题、我问过很多相关人士、他们的建议都是frameworks这边由于横竖屏显示引起的

还希望多多指导

0 Kudos

840 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi Black,

    上面的实验说明不是Power On reset造成的硬件问题。

     你通过配置setprop ro.sf.hwrotation 的值0或者1的做法没问题,因为这个意思就是默认启动时是横屏还是竖屏。具体的是0还是1,哪个是横屏,需要在framework里读一下代码才能知道。

     

    既然这样修改之后,正常了,那么后面不会有啥问题。

Have a nice day!

Weidong

0 Kudos

840 Views
blackhuang
Contributor I

hi weidong

               如上述的图片、我是配置setprop ro.sf.hwrotation 0   暂且叫竖屏、

我将setprop ro.sf.hwrotation 配置为1 就更改为横屏啦。但是我需要显示为竖屏

我尝试修改了framework代码更改为横屏也是没有问题的、但是我需要的是竖屏、

默认的framework也是竖屏,始终还是无法解决竖屏时字体翻转的问题。还麻烦再帮忙看下、谢谢!!!

0 Kudos

840 Views
weidong_sun
NXP TechSupport
NXP TechSupport
Hi Black,

setprop ro.sf.hwrotation 270 

试试能不能转过来。

Have a nice day!

Weidong

0 Kudos

840 Views
blackhuang
Contributor I

hi weidong

      我尝试配置setprop ro.sf.hwrotation为270也不行、

但是我修改为90就完全没问题、

这两种都是横屏状态、我现在的需求是竖屏

0 Kudos

840 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi black,

   由于android 6.0的BSP比较旧了,我手里没有现成的代码去查看,你试试这个方法:把android所有应用都竖屏显示。

另外网上也有很多方法可以参考。(setprop ro.sf.hwrotation的值也只有代码支持才会有效)

frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

public int rotationForOrientationLw(int orientation, int lastRotation, boolean displayEnabled)

{
   // Initialize the rotation angles for each orientation once.
   Display d = ((WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE)) .getDefaultDisplay();
   if (d.getWidth() > d.getHeight()) {
               mPortraitRotation = Surface.ROTATION_90;
               mLandscapeRotation = Surface.ROTATION_0;
               mUpsideDownRotation = Surface.ROTATION_270;
               mSeascapeRotation = Surface.ROTATION_180;
   } else {
               mPortraitRotation = Surface.ROTATION_0;
                mLandscapeRotation = Surface.ROTATION_90;
               mUpsideDownRotation = Surface.ROTATION_180;
               mSeascapeRotation = Surface.ROTATION_270;
}

Have a nice day!

BR,

Weidong

0 Kudos