將Android系統升級到4.1,發現右下角通知欄裡面的滾動條沒有了。如果裡面欄目少的話,還可以接受,但是現在欄目多了,添加了藍牙,GPS等,以至於上面的title直接頂到界面的最上面去了。這是無法接受的。
原來的4.0是有滾動條的,不確定是4.1裡面去掉了,還是在同步代碼的時候出了問題。總之,要把滾動條加上。
對於上層,特別是界面的東西一直以來都很犯怵,這次也是硬著頭皮上。網上搜了一下,只需要修改某個xml資源文件,把<ScrollView>套在最外面就行了。但是首先得找到哪個xml。
首先,狀態通知欄是屬於System bar的,不屬於Settings. 因此代碼在frameworks/base/packages/SystemUI下面。
4.1裡面的xml組織和命名和以前有些不同。不能按相同的文件名找。通知欄中有許多欄目,如“Wi-Fi”, "自動旋轉屏幕", “通知”等。就搜索這些字串。發現資源文件為
packages/SystemUI/res/layout/system_bar_settings_view.xml
打開後發現果然沒有<ScrollView>,於是將4.0中的頭給它套上,具體改動如下
diff --git a/packages/SystemUI/res/layout/system_bar_settings_view.xml b/packages/SystemUI/res/layout/system_bar_settings_view.xml
index c03dd99..181c026 100644
--- a/packages/SystemUI/res/layout/system_bar_settings_view.xml
+++ b/packages/SystemUI/res/layout/system_bar_settings_view.xml
@@ -15,6 +15,11 @@
* limitations under the License.
-->
+<ScrollView
+xmlns:android="http://schemas.android.com/apk/res/android"
+android:layout_height="380px"
+android:layout_width="match_parent">
+
<com.android.systemui.statusbar.tablet.SettingsView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"
@@ -178,3 +183,4 @@
</com.android.systemui.statusbar.tablet.SettingsView>
+</ScrollView>
重新編譯為升級包(SystemUI單獨編譯為apk導入進去不起作用),發現OK 了。