android framework SystemUI 修改NavigationBar靠右边
来源:互联网 发布:淘宝男装店铺简介 编辑:程序博客网 时间:2024/06/01 12:05
1、alps\frameworks\base\policy\src\com\android\internal\policy\impl\PhoneWindowManager.java找到这个文件 然后 在 public void setInitialDisplaySize(Display display, int width, int height, int density) {}方法中找到 mNavigationBarCanMove = true;//shortSizeDp < 600; //syc 20141112 mNavigationBarCanMove这个变量就代表NavigationBar是否能移动 安卓源码默认提供了修改到右边的方法。
2、就是需要修改SystemUI中的布局了 别着急 跟着我继续找 alps\frameworks\base\packages\SystemUI\res\layout\navigation_bar.xml 我把布局中我修改的代码拿出来
<com.android.systemui.statusbar.phone.NavigationBarView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:background="@drawable/system_bar_background"
>
<FrameLayout android:id="@+id/rot0"
android:layout_height="match_parent"
android:layout_width="match_parent"
>
<LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
android:clipChildren="false"
android:clipToPadding="false"
android:id="@+id/nav_buttons"
android:animateLayoutChanges="true"
>
<!-- navigation controls -->
<View
android:layout_width="match_parent"
android:layout_height="8dp"
android:layout_marginLeft="2dp"
android:visibility="invisible"
/>
<Space
android:layout_width="match_parent"
android:layout_height="28dp"
/>
<!--add by zhengshan begin-->
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/volume_up"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/my_volume_up"
systemui:keyCode="24"
systemui:glowBackground="@drawable/ic_sysbar_highlight"
android:contentDescription="@string/accessibility_recent"
/>
<!--add by zhengshan end-->
<!-- add by zhengshan begin-->
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/volume_down"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="38dip"
android:background="@drawable/my_volume_down"
systemui:keyCode="25"
systemui:glowBackground="@drawable/ic_sysbar_highlight"
/>
<!-- add by zhengshan end-->
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="50dip"
>
<ImageButton
android:id="@+id/hide_bar_btn"
android:layout_height="52dp"
android:layout_width="22dp"
android:layout_marginTop="15dip"
android:background="@drawable/ic_sysbar_hidden">
</ImageButton>
<ImageButton android:id="@+id/voice_apps"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:layout_marginLeft="10dip"
android:background="@drawable/my_voice"
systemui:glowBackground="@drawable/ic_sysbar_highlight"
/>
</LinearLayout>
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/back"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/my_back"
systemui:keyCode="4"
android:layout_marginTop="55dip"
systemui:glowBackground="@drawable/ic_sysbar_highlight"
android:contentDescription="@string/accessibility_back"
/>
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/home"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/my_home"
systemui:keyCode="3"
systemui:keyRepeat="true"
android:layout_marginTop="50dip"
systemui:glowBackground="@drawable/ic_sysbar_highlight"
android:contentDescription="@string/accessibility_home"
/>
<Space
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/menu"
android:layout_width="48dp"
android:layout_height="match_parent"
android:src="@drawable/ic_sysbar_menu"
android:layout_marginRight="2dp"
systemui:keyCode="82"
android:visibility="invisible"
android:contentDescription="@string/accessibility_menu"
systemui:glowBackground="@drawable/ic_sysbar_highlight"
/>
</LinearLayout>
<!-- lights out layout to match exactly -->
<LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="horizontal"
android:id="@+id/lights_out"
android:visibility="gone"
>
<Space
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
/>
<!--add by zhengshan begin-->
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/recent_apps"
android:layout_width="match_parent" android:paddingStart="0dp" android:paddingEnd="0dp"
android:layout_height="88dp"
android:src="@drawable/ic_sysbar_recent"
systemui:glowBackground="@drawable/ic_sysbar_highlight"
android:visibility="gone"
/>
<ImageView
android:layout_width="128dp" android:paddingLeft="25dp" android:paddingRight="25dp"
android:layout_height="match_parent"
android:layout_marginLeft="40dp"
android:src="@drawable/ic_sysbar_lights_out_dot_small"
android:scaleType="center"
android:layout_weight="0"
/>
<ImageView
android:layout_width="128dp" android:paddingLeft="25dp" android:paddingRight="25dp"
android:layout_height="match_parent"
android:src="@drawable/ic_sysbar_lights_out_dot_large"
android:scaleType="center"
android:layout_weight="0"
/>
<ImageView
android:layout_width="128dp" android:paddingLeft="25dp" android:paddingRight="25dp"
android:layout_marginRight="40dp"
android:layout_height="match_parent"
android:src="@drawable/ic_sysbar_lights_out_dot_small"
android:scaleType="center"
android:layout_weight="0"
/>
<Space
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
/>
</LinearLayout>
3、其中涉及到一些图片资源的添加 自己应该能看得出来 然后添加图片之后 还需要添加事件 需要在alps\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\NavigationBarView.java 和PhoneStatusBar.java 添加代码
- android framework SystemUI 修改NavigationBar靠右边
- android frameworks开发SystemUI之NavigationBar改变
- Android SystemUI任务栏修改
- Android ROM定制——界面美化基础(framework-res、SystemUI修改)
- Android ROM定制——界面美化基础(framework-res、SystemUI修改)
- Android ROM定制——界面美化基础(framework-res、SystemUI修改)
- Android之SystemUI加载流程和NavigationBar的分析
- [Android][SystemUI]navigationbar 3个虚拟键隐藏与显示
- Android 5.1 SystemUI 状态栏修改
- Android之framework修改底部导航栏NavigationBar动态显示和隐藏
- android APP隐藏NavigationBar,通过修改framework隐藏/显示 navigation bar
- Android之framework修改底部导航栏NavigationBar动态显示和隐藏
- Android之framework修改底部导航栏NavigationBar动态显示和隐藏
- Android之framework修改底部导航栏NavigationBar动态显示和隐藏
- Android NavigationBar横屏修改
- Android图标靠界面的右边的实现
- Android SystemUI源码分析与修改
- Android源码开发之修改Launcher & SystemUI
- mybatils的基本配置及增删改查
- andorid ndk 各种坑啊 记录下
- TCP数据包分片机制详解
- Activity传值时防止onActivityResult方法中的data为null
- POJ1833排列
- android framework SystemUI 修改NavigationBar靠右边
- 计蒜客429根据输入特点划分圆求扇形面积
- jquery获取表单类型为radio的元素
- CSS伪类before和after的应用
- qt 中文乱码 处理QByteArray类型里含中文的数据
- android开源框架emojicon,妈妈再也不用担心我没表情了
- 程序员人生之路
- hdu5294 Tricks Device 最短路+最小割 多校联合第一场
- SlidingMenu 详解系列(一)API介绍