Android中为通知栏添加滚动条

来源:互联网 发布:mastercam三维编程 编辑:程序博客网 时间:2024/03/29 14:05

           将系统升级到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 了。

原创粉丝点击