本篇文章筆者在深圳吃飯的時候突然想到的...這幾周就有想寫幾篇關于修改刪除的文章,所以回家到之后就奮筆疾書的寫出來發表了
????
????
????
在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做些小調整
文章結束給大家分享下程序員的一些笑話語錄: 一條狗在街上閑逛,看見櫥窗里一張告示:「招聘程序員。會編程,有團隊精神,至少精通兩種語言。均等機會。」
那條狗就進去申請,但是被拒絕了。
「我不能雇一條狗在公司里做事。」經理說。
狗不服氣,指著告示上「均等機會」幾字抗議。
經理沒法,嘆了口氣,不屑地問道:「你會編程嗎?」
那條狗默默地走到電腦前,編了個程序,運作準確。
「你有團隊精神嗎?」經理問。
那條狗掉頭看了看門外,一大群野狗在外面虎視耽耽。
「我真的不能雇狗做這份工作。」經理氣急敗壞地說。
「就算會編程、有團隊精神,但是我需要的雇員至少要能精通兩種語言。」
那條狗抬頭看著經理說:「喵-噢。」
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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