修改4.1.2拨号盘和移动删除键位置
2013-05-12 21:31
120 查看
在Jelly Bean 4.1.2 ROM中,拨号版的布置如下左图所示。删除键在右上方,位于输入的号码后面。用起来不习惯。尤其是当电话号码比较长时,显示位置不够用,前一段数字显示被覆盖。下面是我的修改方法,供参考和使用。修改拨号盘,将删除键移到右下方空白处。修改后的拨号盘如上边右图所示。
操作前提:你要会使用apktool或者apkmanager
(这个我不教你,在我以前的系列讲座里都有)。
修改要求:将删除键移到右下方空白处,将搜索键,拨号键和删除键放在同一个框架上,一起移动。同时调整搜索键的位置。
修改文件:修改Contacts.apk
修改内容: /res/laypout/dialpad_fragment.xml和dialtacts_activity.xml
见修改后的dialpad_fragment.xml和dialtacts_activity.xml文件内容。
dialpad_fragment.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:id="@id/top" android:paddingLeft="@dimen/dialpad_horizontal_margin" android:paddingRight="@dimen/dialpad_horizontal_margin" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:gravity="center" android:id="@id/digits_container" android:background="@drawable/dialpad_background" android:layout_width="fill_parent" android:layout_height="0.0px" android:layout_marginTop="@dimen/dialpad_vertical_margin" android:layout_weight="0.1">
<com.android.contacts.dialpad.DigitsEditText android:textAppearance="@style/DialtactsDigitsTextAppearance" android:textColor="?android:textColorPrimary" android:gravity="center" android:id="@id/digits" android:background="@*android:color/transparent"
android:nextFocusRight="@id/overflow_menu" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" />
</LinearLayout>
<LinearLayout android:gravity="center_vertical" android:id="@id/t9topbar" android:background="@drawable/dialpad_background" android:layout_width="fill_parent" android:layout_height="0.0px" android:layout_weight="0.1">
<ListView android:gravity="center_vertical" android:layout_gravity="center_vertical" android:id="@id/t9listtop" android:visibility="invisible" android:layout_width="0.0dip" android:layout_height="40.0dip" android:divider="@null" android:layout_weight="1.0"
android:overScrollMode="never" />
<ToggleButton android:layout_gravity="center" android:id="@id/t9toggle" android:background="@drawable/t9toggle_state" android:visibility="invisible" android:layout_width="40.0dip" android:layout_height="40.0dip" android:scaleType="centerInside" android:textOn=""
android:textOff="" />
</LinearLayout>
<ViewSwitcher android:id="@id/t9flipper" android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_weight="0.65">
<include layout="@layout/dialpad" />
<ListView android:id="@id/t9list" android:background="@drawable/dialpad_background" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollingCache="true" />
</ViewSwitcher>
<View android:background="@color/dialpad_switch_bg" android:layout_width="fill_parent" android:layout_height="@dimen/dialpad_vertical_margin" />
<LinearLayout android:gravity="center" android:id="@id/digits_container" android:background="@drawable/dialpad_background" android:layout_width="fill_parent" android:layout_height="0.0px" android:layout_marginTop="@dimen/dialpad_vertical_margin" android:layout_weight="0.15">
<ImageButton android:state_enabled="false" android:layout_gravity="center_vertical" android:id="@id/searchButton" android:background="?android:selectableItemBackground" android:layout_width="0.0px" android:layout_height="fill_parent" android:src="@drawable/ic_dial_action_search"
android:layout_weight="0.3" android:contentDescription="@string/description_search_button" />
<View android:layout_gravity="center_vertical" android:background="?android:dividerVertical" android:layout_width="1.0dip" android:layout_height="25.0dip" />
<ImageButton android:state_enabled="false" android:layout_gravity="center_vertical" android:id="@id/dialButton" android:background="@drawable/btn_call" android:layout_width="10.0px" android:layout_height="fill_parent" android:src="@drawable/ic_dial_action_call"
android:layout_weight="0.4" android:contentDescription="@string/description_dial_button" />
<View android:layout_gravity="center_vertical" android:background="?android:dividerVertical" android:layout_width="1.0dip" android:layout_height="25.0dip" />
<ImageButton android:state_enabled="false" android:layout_gravity="center_vertical" android:id="@id/deleteButton" android:background="?android:selectableItemBackground" android:layout_width="0.0px" android:layout_height="fill_parent" android:src="@drawable/ic_dial_action_delete"
android:layout_weight="0.3" android:contentDescription="@string/description_delete_button" />
</LinearLayout>
<ListView android:id="@id/dialpadChooser" android:layout_width="fill_parent" android:layout_height="1.0dip" android:layout_weight="1.0" />
</LinearLayout>
复制代码
dialtacts_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@id/dialtacts_frame" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="?android:actionBarSize"
xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.v4.view.ViewPager android:id="@id/pager" android:layout_width="fill_parent" android:layout_height="fill_parent" />
<ImageButton android:state_enabled="false" android:layout_gravity="bottom|left|center" android:id="@id/searchButton" android:background="?android:selectableItemBackground" android:layout_width="140px" android:layout_height="102px" android:contentDescription="@string/description_search_button"
/>
<ImageButton android:layout_gravity="bottom|right|center" android:id="@id/overflow_menu" android:background="?android:selectableItemBackground" android:nextFocusLeft="@id/digits" android:layout_width="wrap_content" android:layout_height="?android:actionBarSize"
android:src="@drawable/ic_menu_overflow" android:contentDescription="@string/action_menu_overflow_description" />
</FrameLayout>
复制代码
修改注释:
1.修改dialpad_fragment.xml
1) 在右上方移除“删除”键
2) 在低栏移除“拨号”键
3) 在低栏布置好3个键图标
2.修改dialtacts_activity.xml
1) 调整“搜索”图标尺寸,长度140px,高度102px android:layout_width="140px" android:layout_height="102px"
2) 删除“搜索”图标对应的命令:android:src="@drawable/ic_dial_action_search
修改步骤:
1. 用apktool反编译Contacts.apk
2. 直接将我修改好的这两个xml文件复制进/res/layout/即可。
3. 再编译。生成新的Contacts.apk
注明:
1. 本修改方法是非专业修改法,只修改xml文件,不修改smali下的子程序。
2. 转贴请注明出处,尊重本人劳动。
3.
该修改方法也适用于Jelly Bean 4.2,但是要对dialpad_fragment.xml做些小调整
操作前提:你要会使用apktool或者apkmanager
(这个我不教你,在我以前的系列讲座里都有)。
修改要求:将删除键移到右下方空白处,将搜索键,拨号键和删除键放在同一个框架上,一起移动。同时调整搜索键的位置。
修改文件:修改Contacts.apk
修改内容: /res/laypout/dialpad_fragment.xml和dialtacts_activity.xml
见修改后的dialpad_fragment.xml和dialtacts_activity.xml文件内容。
dialpad_fragment.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:id="@id/top" android:paddingLeft="@dimen/dialpad_horizontal_margin" android:paddingRight="@dimen/dialpad_horizontal_margin" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:gravity="center" android:id="@id/digits_container" android:background="@drawable/dialpad_background" android:layout_width="fill_parent" android:layout_height="0.0px" android:layout_marginTop="@dimen/dialpad_vertical_margin" android:layout_weight="0.1">
<com.android.contacts.dialpad.DigitsEditText android:textAppearance="@style/DialtactsDigitsTextAppearance" android:textColor="?android:textColorPrimary" android:gravity="center" android:id="@id/digits" android:background="@*android:color/transparent"
android:nextFocusRight="@id/overflow_menu" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" />
</LinearLayout>
<LinearLayout android:gravity="center_vertical" android:id="@id/t9topbar" android:background="@drawable/dialpad_background" android:layout_width="fill_parent" android:layout_height="0.0px" android:layout_weight="0.1">
<ListView android:gravity="center_vertical" android:layout_gravity="center_vertical" android:id="@id/t9listtop" android:visibility="invisible" android:layout_width="0.0dip" android:layout_height="40.0dip" android:divider="@null" android:layout_weight="1.0"
android:overScrollMode="never" />
<ToggleButton android:layout_gravity="center" android:id="@id/t9toggle" android:background="@drawable/t9toggle_state" android:visibility="invisible" android:layout_width="40.0dip" android:layout_height="40.0dip" android:scaleType="centerInside" android:textOn=""
android:textOff="" />
</LinearLayout>
<ViewSwitcher android:id="@id/t9flipper" android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_weight="0.65">
<include layout="@layout/dialpad" />
<ListView android:id="@id/t9list" android:background="@drawable/dialpad_background" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollingCache="true" />
</ViewSwitcher>
<View android:background="@color/dialpad_switch_bg" android:layout_width="fill_parent" android:layout_height="@dimen/dialpad_vertical_margin" />
<LinearLayout android:gravity="center" android:id="@id/digits_container" android:background="@drawable/dialpad_background" android:layout_width="fill_parent" android:layout_height="0.0px" android:layout_marginTop="@dimen/dialpad_vertical_margin" android:layout_weight="0.15">
<ImageButton android:state_enabled="false" android:layout_gravity="center_vertical" android:id="@id/searchButton" android:background="?android:selectableItemBackground" android:layout_width="0.0px" android:layout_height="fill_parent" android:src="@drawable/ic_dial_action_search"
android:layout_weight="0.3" android:contentDescription="@string/description_search_button" />
<View android:layout_gravity="center_vertical" android:background="?android:dividerVertical" android:layout_width="1.0dip" android:layout_height="25.0dip" />
<ImageButton android:state_enabled="false" android:layout_gravity="center_vertical" android:id="@id/dialButton" android:background="@drawable/btn_call" android:layout_width="10.0px" android:layout_height="fill_parent" android:src="@drawable/ic_dial_action_call"
android:layout_weight="0.4" android:contentDescription="@string/description_dial_button" />
<View android:layout_gravity="center_vertical" android:background="?android:dividerVertical" android:layout_width="1.0dip" android:layout_height="25.0dip" />
<ImageButton android:state_enabled="false" android:layout_gravity="center_vertical" android:id="@id/deleteButton" android:background="?android:selectableItemBackground" android:layout_width="0.0px" android:layout_height="fill_parent" android:src="@drawable/ic_dial_action_delete"
android:layout_weight="0.3" android:contentDescription="@string/description_delete_button" />
</LinearLayout>
<ListView android:id="@id/dialpadChooser" android:layout_width="fill_parent" android:layout_height="1.0dip" android:layout_weight="1.0" />
</LinearLayout>
复制代码
dialtacts_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@id/dialtacts_frame" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="?android:actionBarSize"
xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.v4.view.ViewPager android:id="@id/pager" android:layout_width="fill_parent" android:layout_height="fill_parent" />
<ImageButton android:state_enabled="false" android:layout_gravity="bottom|left|center" android:id="@id/searchButton" android:background="?android:selectableItemBackground" android:layout_width="140px" android:layout_height="102px" android:contentDescription="@string/description_search_button"
/>
<ImageButton android:layout_gravity="bottom|right|center" android:id="@id/overflow_menu" android:background="?android:selectableItemBackground" android:nextFocusLeft="@id/digits" android:layout_width="wrap_content" android:layout_height="?android:actionBarSize"
android:src="@drawable/ic_menu_overflow" android:contentDescription="@string/action_menu_overflow_description" />
</FrameLayout>
复制代码
修改注释:
1.修改dialpad_fragment.xml
1) 在右上方移除“删除”键
2) 在低栏移除“拨号”键
3) 在低栏布置好3个键图标
2.修改dialtacts_activity.xml
1) 调整“搜索”图标尺寸,长度140px,高度102px android:layout_width="140px" android:layout_height="102px"
2) 删除“搜索”图标对应的命令:android:src="@drawable/ic_dial_action_search
修改步骤:
1. 用apktool反编译Contacts.apk
2. 直接将我修改好的这两个xml文件复制进/res/layout/即可。
3. 再编译。生成新的Contacts.apk
注明:
1. 本修改方法是非专业修改法,只修改xml文件,不修改smali下的子程序。
2. 转贴请注明出处,尊重本人劳动。
3.
该修改方法也适用于Jelly Bean 4.2,但是要对dialpad_fragment.xml做些小调整
相关文章推荐
- 修改删除修改4.1.2拨号盘和移动删除键位置
- [Phonegap+Sencha Touch] 移动开发50 Android修改新建虚拟机存放的位置
- 如何移动win7桌面到它处与修改win7用户文件夹的位置
- 移动架构30_面向对象式手写数据库架构设计二(修改、删除、查询、拓展)
- Windows 7下修改/移动用户文件夹位置
- Java Io文件操作(读写、追加、删除、移动、复制、修改)
- 修改时间格式 gps 移动网络位置信息默认 音量设置
- Linux文件保护禁止修改、删除、移动文件等,使用chattr +i保护
- UITableView的删除,移动及修改删除按钮上的文字
- 找一款防文件或文件夹误删除,移动,修改的软件
- Krpano学习:在javascript中动态添加/删除/修改(位置)热点(向后端写入)
- 修改删除Google账号之后,点击设置->位置信息->Google 位置信息分享,Google应用报错的问题
- Dom4j向XML中指定位置添加、删除、修改节点——(五)
- matplotlib命令与格式:删除,移动,修改axes脊柱(边框)
- C#文件操作 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
- C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
- ios开发中对UITableView的操作(包括删除,插入,移动位置)
- C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
- C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
- 118删除单元格(扩展知识:添加单元格和移动单元格的位置)