国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 5.0 開機橫屏修改方法

2019-12-12 04:02:58
字體:
來源:轉載
供稿:網友
<span style="font-family: Arial, Helvetica, sans-serif;">如果理解了Android的設計的原理, 其實這個修改原理十分簡單, 比一些網上流出來的粗暴的修改方式既美觀又實用。</span> 

修改分為三部分:

1: 上層(Java)修改

既然設計到屏幕的修改, 肯定想到了直接修改WMS(比較粗暴的方式)。

其實Android的很多的需求都是通過配置文件來的, 這么明顯的設計需求只要去找相應的配置就可以了。

core/res/res/values/config.xml

<bool name="config_supportAutoRotation"><span style="color:#ff0000;">false</span></bool> <integer name="config_lidOpenRotation"><span style="color:#ff0000;">90</span></integer> 

修改后發現開機后, 開機畫面是橫屏顯示的,進入鎖屏界面, 屏幕做了一次旋轉操作, 這個時候窗口才真正的橫屏。

跟需求還不一樣, 進入鎖屏前需要橫屏。

所以需要修改WMS的默認方向。

/services/core/Java/com/Android/server/wm/WindowManagerService.Java

int mRotation = <span style="color:#ff0000;">1</span>; 

修改后開機發現: 開機畫面啟動后是豎屏的, 運行一段時間變成橫屏, 進入鎖屏界面, 也是橫屏, 不用再做橫豎切換。

2: 底層(C++)修改

開機啟動畫面, 剛開始的時候是豎屏的。

原因很簡單: 底層的SF初始化的時候肯定是豎屏的得跟WMS匹配。 所以修改也很簡單。

framework/native/services/surfaceflinger/DisplayDevice.cpp

// initialize the display orientation transform. setProjection(DisplayState::<span style="color:#ff6666;">eOrientation90</span>, mViewport, mFrame); 

再開機發現問題來了, 開機畫面顯示有問題, 而且進入到鎖屏界面前也會閃一下。

3: Bootanimation 修改

到第二部的修改一直都很順利, 而且分析的效果跟修改后的顯示也是比較相符的。

但是出現的一閃的畫面, 讓我比較苦惱, 一直以為是修改的不夠徹底, 一直找其他初始化的地方是否沒修改, 找了半天沒找到相關的修改, 因為應該考慮的地方都已經修改了。
所以接下來只能看Bootanimation了。

終于發現了原因:

 status_t status = SurfaceComposerClient::getDisplayInfo(dtoken, &<span style="color:#ff0000;">dinfo</span>);   

// create the native surface sp<SurfaceControl> control = session()->createSurface(String8("BootAnimation"),     dinfo<span style="color:#ff0000;">.h</span>, dinfo<span style="color:#ff0000;">.w</span>, PIXEL_FORMAT_RGB_565); 

Surface申請的時候是按照豎屏申請的, 這個時候我們的屏幕已經是橫屏了。

修改后運行, 發現完美解決了開機橫屏的問題。

對于進入鎖屏前一閃的問題: 這個也是由Bootanimation導致, 因為Bootanimation開始的時候是豎屏, WMS設置屏幕為橫屏的時候, Bootanimation還沒有消失, 所以導致了一閃的問題。

抓住這個修改主線, 不論Android怎么變, 是之前4.0 還是將來的6.0, 都是可以修改的。 (PS: 這里不涉及fastboot的logo的修改, 這個修改更簡單 替換圖片就可以了)

以上所述是小編給大家介紹的Android 5.0 開機橫屏修改方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 深州市| 冷水江市| 韶山市| 遵化市| 通许县| 连南| 南漳县| 秭归县| 三江| 乌海市| 茌平县| 德保县| 泸水县| 周至县| 乡宁县| 崇义县| 常山县| 石阡县| 六盘水市| 富平县| 兰溪市| 霸州市| 洛隆县| 靖宇县| 民乐县| 南昌县| 象州县| 紫云| 金溪县| 宁河县| 泰州市| 石屏县| 铜川市| 西林县| 林周县| 洛浦县| 彰武县| 常德市| 石棉县| 奇台县| 武邑县|