本篇文章筆者在深圳吃飯的時(shí)候突然想到的...這幾周就有想寫幾篇關(guān)于修改刪除的文章,所以回家到之后就奮筆疾書的寫出來發(fā)表了
????
????
????
在Jelly Bean 4.1.2 ROM中,撥號版的布置如下左圖所示。刪除鍵在右上方,位于輸入的號碼前面。用起來不習(xí)慣。尤其是當(dāng)電話號碼比較長時(shí),顯示位置不夠用,前一段數(shù)字顯示被覆蓋。下面是我的修改方法,供參考和應(yīng)用。修改撥號盤,將刪除鍵移到右下方空白處。修改后的撥號盤如上邊右圖所示。
?
????
???? 操作前提: 你要會應(yīng)用apktool或者apkmanager (這個(gè)我不教你,在我以前的系列講座里都有)。
????
???? 修改要求: 將刪除鍵移到右下方空白處,將搜索鍵,撥號鍵和刪除鍵放在同一個(gè)框架上,一起移動。同時(shí)調(diào)整搜索鍵的位置。
????
???? 修改文件: 修改Contacts.apk
????
???? 修改內(nèi)容: ?/res/laypout/dialpad_fragment.xml和dialtacts_activity.xml
????
???? ? ?? ?? ?? ?? ? 見修改后的dialpad_fragment.xml和dialtacts_activity.xml文件內(nèi)容。
????
???? ? ? ? ? ? ? ? ? ?
????
????
???? 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個(gè)鍵圖標(biāo)
??2.修改dialtacts_activity.xml
? ???1) 調(diào)整“搜索”圖標(biāo)尺寸,長度140px,高度102px android:layout_width="140px" android:layout_height="102px"
? ???2) 刪除“搜索”圖標(biāo)對應(yīng)的命令:android:src="@drawable/ic_dial_action_search
????
修改步調(diào):
? ?1. 用apktool反編譯Contacts.apk
? ?2. 直接將我修改好的這兩個(gè)xml文件復(fù)制進(jìn)/res/layout/便可。
? ?3. 再編譯。生成新的Contacts.apk
????
????
注明:
????
? ?1. 本修改方法長短專業(yè)修改法,只修改xml文件,不修改smali下的子程序。
? ?2. 轉(zhuǎn)貼請注明出處,尊敬本人休息。
????
???? ? ?
???? ??3. 該修改方法也適用于Jelly Bean 4.2,但是要對dialpad_fragment.xml做些小調(diào)整
文章結(jié)束給大家分享下程序員的一些笑話語錄: 一條狗在街上閑逛,看見櫥窗里一張告示:「招聘程序員。會編程,有團(tuán)隊(duì)精神,至少精通兩種語言。均等機(jī)會。」
那條狗就進(jìn)去申請,但是被拒絕了。
「我不能雇一條狗在公司里做事。」經(jīng)理說。
狗不服氣,指著告示上「均等機(jī)會」幾字抗議。
經(jīng)理沒法,嘆了口氣,不屑地問道:「你會編程嗎?」
那條狗默默地走到電腦前,編了個(gè)程序,運(yùn)作準(zhǔn)確。
「你有團(tuán)隊(duì)精神嗎?」經(jīng)理問。
那條狗掉頭看了看門外,一大群野狗在外面虎視耽耽。
「我真的不能雇狗做這份工作。」經(jīng)理氣急敗壞地說。
「就算會編程、有團(tuán)隊(duì)精神,但是我需要的雇員至少要能精通兩種語言。」
那條狗抬頭看著經(jīng)理說:「喵-噢。」
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
