当前位置: 首页 > news >正文

wordpress 导入html培训优化

wordpress 导入html,培训优化,湖南做网站 联系磐石网络,建设网站对比方案本篇博客是记录自己解决开机动画与系统方向不一致方案代码,思路:在系统参数根目录自定义persist.sys.hwrotationxrd0来作为动画方向,当修改系统方向时同时修改这个参数,当系统启动加载动画时在根据这个来旋转动画方式以保证动画方…

本篇博客是记录自己解决开机动画与系统方向不一致方案代码,思路:在系统参数根目录自定义persist.sys.hwrotationxrd=0来作为动画方向,当修改系统方向时同时修改这个参数,当系统启动加载动画时在根据这个来旋转动画方式以保证动画方式与系统方式一致。

实现步骤如下:

一、在rk3288\device\rockchip\rk3288\system.prop 内创建persist.sys.hwrotationxrd=0 与屏幕主屏默认方式一致

二、在rk3288\frameworks\base\cmds\bootanimation\BootAnimation.cpp 内修改动画方式

status_t BootAnimation::readyToRun() {mAssets.addDefaultAssets();
......DisplayInfo dinfo;status_t status = SurfaceComposerClient::getDisplayInfo(dtoken, &dinfo);if (status)return -1;// create the native surface
//    int curWidth = dinfo.w;
//    int curHeight = dinfo.h;
//    if(mShutdown && mReverseAxis){
//        curWidth = dinfo.h;
//        curHeight = dinfo.w;
//    }//start add superchar hwrotationaa[PROPERTY_VALUE_MAX];property_get("persist.sys.hwrotationxrd",hwrotationaa,"0");ALOGE("hwrotation::%s" , hwrotationaa);int orient = atoi(hwrotationaa)/90;sp<SurfaceControl> control = session()->createSurface(String8("BootAnimation"),(orient ==1 || orient==3) ?dinfo.h:dinfo.w,(orient ==1 || orient==3) ?dinfo.w:dinfo.h, PIXEL_FORMAT_RGB_565);//    sp<SurfaceControl> control = session()->createSurface(String8("BootAnimation"),
//                                                          dinfo.w, dinfo.h, PIXEL_FORMAT_RGB_565);if(orient == 1 || orient == 3){Rect destRect(dinfo.h, dinfo.w);mSession->setDisplayProjection(dtoken,orient,destRect,destRect);}ALOGE("eliot BootAnimation::readyToRun22222222 add end\n");//end add super
......

三、在rk3288\frameworks\native\services\surfaceflinger\DisplayDevice.cpp 内初始化动画方向

 // Name the display.  The name will be replaced shortly if the display// was created with createDisplay().switch (mType) {case DISPLAY_PRIMARY:mDisplayName = "Built-in Screen";break;case DISPLAY_EXTERNAL:mDisplayName = "HDMI Screen";break;default:mDisplayName = "Virtual Screen";    // e.g. Overlay #nbreak;}//start add superint defaultOrientation = 0;char property[PROPERTY_VALUE_MAX];property_get("persist.sys.hwrotationxrd", property, "0");defaultOrientation = atoi(property);switch(defaultOrientation) {case 0:defaultOrientation = DisplayState::eOrientationDefault;break;case 90:defaultOrientation = DisplayState::eOrientation90;break;case 180:defaultOrientation = DisplayState::eOrientation180;break;case 270:defaultOrientation = DisplayState::eOrientation270;break;default:defaultOrientation = DisplayState::eOrientationDefault;break;}// initialize the display orientation transform.setProjection(defaultOrientation, mViewport, mFrame);//end add super// initialize the display orientation transform.
//    setProjection(DisplayState::eOrientationDefault, mViewport, mFrame);#ifdef NUM_FRAMEBUFFER_SURFACE_BUFFERSsurface->allocateBuffers();
#endif
}

四、上层修改动画方向

1、rk3288\frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager 修改

.....//add start 2024-8-2private int mDefaultOrientation = Surface.ROTATION_0;@Overridepublic void setInitialDisplaySize(Display display, int width, int height, int density) {// This method might be called before the policy has been fully initialized// or for other displays we don't care about.if (mContext == null || display.getDisplayId() != Display.DEFAULT_DISPLAY) {return;}
....// Only force the default orientation if the screen is xlarge, at least 960dp x 720dp, per// http://developer.android.com/guide/practices/screens_support.html#rangemForceDefaultOrientation = longSizeDp >= 960 && shortSizeDp >= 720 &&res.getBoolean(com.android.internal.R.bool.config_forceDefaultOrientation) &&// For debug purposes the next line turns this feature off with:// $ adb shell setprop config.override_forced_orient true// $ adb shell wm size reset!"true".equals(SystemProperties.get("config.override_forced_orient"));//start add superString defaultOrientation = SystemProperties.get("persist.sys.hwrotationxrd", "0");if("0".equals(defaultOrientation)) {mDefaultOrientation = Surface.ROTATION_0;} else if("90".equals(defaultOrientation)) {mDefaultOrientation = Surface.ROTATION_90;} else if("180".equals(defaultOrientation)) {mDefaultOrientation = Surface.ROTATION_180;} else if("270".equals(defaultOrientation)) {mDefaultOrientation = Surface.ROTATION_270;} else {mDefaultOrientation = Surface.ROTATION_0;}//end add super}.....@Overridepublic int rotationForOrientationLw(int orientation, int lastRotation) {switch (orientation) {case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:// Return portrait unless overridden.if (isAnyPortrait(preferredRotation)) {return preferredRotation;}return mPortraitRotation;case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE:// Return landscape unless overridden.if (isLandscapeOrSeascape(preferredRotation)) {return preferredRotation;}return mLandscapeRotation;case ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT:// Return reverse portrait unless overridden.if (isAnyPortrait(preferredRotation)) {return preferredRotation;}return mUpsideDownRotation;case ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE:// Return seascape unless overridden.if (isLandscapeOrSeascape(preferredRotation)) {return preferredRotation;}return mSeascapeRotation;case ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE:case ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE:// Return either landscape rotation.if (isLandscapeOrSeascape(preferredRotation)) {return preferredRotation;}if (isLandscapeOrSeascape(lastRotation)) {return lastRotation;}return mLandscapeRotation;case ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT:case ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT:// Return either portrait rotation.if (isAnyPortrait(preferredRotation)) {return preferredRotation;}if (isAnyPortrait(lastRotation)) {return lastRotation;}return mPortraitRotation;default:// For USER, UNSPECIFIED, NOSENSOR, SENSOR and FULL_SENSOR,// just return the preferred orientation we already calculated.if (preferredRotation >= 0) {return preferredRotation;}//  return Surface.ROTATION_0;return mDefaultOrientation;// add modify 2024-8-2}}}

2、rk3288\frameworks\base\services\core\java\com\android\server\wm\WindowManagerService.java 修改

	private WindowManagerService(Context context, InputManagerService inputManager,boolean haveInputMethods, boolean showBootMsgs, boolean onlyCore) {......//add start 2024-8-2String defaultOrientation = SystemProperties.get("persist.sys.hwrotationxrd", "0");if("0".equals(defaultOrientation)) {mRotation = Surface.ROTATION_0;} else if("90".equals(defaultOrientation)) {mRotation = Surface.ROTATION_90;} else if("180".equals(defaultOrientation)) {mRotation = Surface.ROTATION_180;} else if("270".equals(defaultOrientation)) {mRotation = Surface.ROTATION_270;} else {mRotation = Surface.ROTATION_0;}//add end 2024-8-2}

到此修改就完成了,本文是参照Android 高通7.1系统默认横屏显示(无G-sensor)_高通 android7 横竖屏显示-CSDN博客

修改完成,感谢!

http://www.ds6.com.cn/news/64563.html

相关文章:

  • 投票网站做seo如何自动seo系统
  • 网站规划和网站建设优化公司网站
  • 网站建设免费模版百度一下你就知道百度一下
  • 做ppt兼职的网站有哪些seo搜索引擎优化价格
  • 有没有做网站的博士专业seo关键词排名网络公司
  • 中国建设银行曲江支行网站百度网站排名优化
  • 哪个淘宝客网站最好重庆网站建设与制作
  • 全球设计公司排名优化营商环境工作总结
  • dw如何做网站云搜索系统
  • 优化师是干嘛的武汉久都seo
  • 域名解析服务器是什么如何优化网络环境
  • 忠县网站建设东莞网站制作的公司
  • 怎么搭建钓鱼网站中牟网络推广外包
  • 深圳做互联网教网站公司北京网络营销推广外包
  • .net 网站 数据库配置文件seo推广效果
  • 好网站制作公司百度客服人工电话24
  • 合肥地区建网站公司如何在百度上发广告
  • html5网站建设方案会计培训班有用吗
  • 找做玻璃的网站太原网站seo
  • 做网站要要多少钱商业软文案例
  • 科研院所网站建设网络营销有哪些
  • 网站建设百度推广咨询热线sem和seo
  • wordpress polylang关键词优化怎么弄
  • 最佳线上网站建设费用在线代理浏览网站免费
  • 帮境外赌场做网站是否有风险seo业务培训
  • 用vuejs做的网站新闻头条最新消息今天发布
  • 个人想做企业网站备案百度关键词排名点击器
  • 做搜狗网站优化排名成都网络推广外包
  • 叶榭网站建设网站服务器查询工具
  • 网站制作农业每日新闻播报