systemui:keyCode=“4”
android:layout_weight=“0”
systemui:glowBackground=“@drawable/ic_sysbar_highlight”
android:contentDescription=“@string/accessibility_back”
/>
音量減的布局如下,這里先把Visibility定義為Gone,然后在代碼中控制是否顯示:
<com.android.systemui.statusbar.policy.KeyButtonView android:id=“@+id/sub”
android:src=“@drawable/sub_normal”
android:layout_width=“@dimen/navigation_key_width”
android:layout_height=“match_parent”
android:layout_weight=“0”
systemui:keyCode=“302”
systemui:glowBackground=“@drawable/ic_sysbar_highlight”
android:visibility=“gone”/>
“音量加”添加到“最近應用”之后,最近應用的布局:
<com.android.systemui.statusbar.policy.KeyButtonView android:id=“@+id/recent_apps”
android:layout_width=“128dp” android:paddingStart=“25dp” android:paddingEnd=“25dp”
android:layout_height=“match_parent”
android:src=“@drawable/ic_sysbar_recent”
android:layout_weight=“0”
systemui:glowBackground=“@drawable/ic_sysbar_highlight”
android:contentDescription=“@string/accessibility_recent”
/>
音量加的布局:
<com.android.systemui.statusbar.policy.KeyButtonView android:id=“@+id/add”
android:src=“@drawable/add_normal”
android:layout_width=“@dimen/navigation_key_width”
android:layout_height=“match_parent”
android:layout_weight=“0”
systemui:keyCode=“301”
systemui:glowBackground=“@drawable/ic_sysbar_highlight”
android:visibility=“gone”/>
3.接著修改代碼邏輯,文件路徑:
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
在private void prepareNavigationBarView() {……}函數(shù)中添加顯示音量加減的代碼:
mNavigationBarView.getAddVolume().setVisibility(View.VISIBLE);
mNavigationBarView.getSubVolume().setVisibility(View.VISIBLE);
對應的函數(shù)getAddVolume()和getAddVolume()要在
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
中實現(xiàn):
public View getAddVolume(){
return mCurrentView.findViewById(R.id.add);
}
public View getSubVolume(){
return mCurrentView.findViewById(R.id.sub);
}
最后就是功能實現(xiàn)了,在
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
中添加監(jiān)聽函數(shù):
private View.OnTouchListener mAddVolumeOnTouchListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent ev) {
final int action = ev.getAction();
switch(action) {
case MotionEvent.ACTION_DOWN:
is_down = true;
Adjust_Volume(true);
maddHandler.postDelayed(maddRun, ADJUST_VOLUME_DELAY * 2);
break;
case MotionEvent.ACTION_MOVE:
is_down = true;
maddHandler.postDelayed(maddRun, ADJUST_VOLUME_DELAY * 2);
// maddHandler.removeCallbacks(maddRun);
break;
case MotionEvent.ACTION_UP:
is_down = false;
maddHandler.removeCallbacks(maddRun);
break;
}
return true;
}
};
private View.OnTouchListener mSubVolumeOnTouchListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent ev) {
final int action = ev.getAction();
int x, y;
//int mCode = ev.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
is_down = true;
Adjust_Volume(false);
自我介紹一下,小編13年上海交大畢業(yè),曾經在小公司待過,也去過華為、OPPO等大廠,18年進入阿里一直到現(xiàn)在。
深知大多數(shù)Android工程師,想要提升技能,往往是自己摸索成長或者是報班學習,但對于培訓機構動則幾千的學費,著實壓力不小。自己不成體系的自學效果低效又漫長,而且極易碰到天花板技術停滯不前!
因此收集整理了一份《2024年Android移動開發(fā)全套學習資料》,初衷也很簡單,就是希望能夠幫助到想自學提升又不知道該從何學起的朋友,同時減輕大家的負擔。
既有適合小白學習的零基礎資料,也有適合3年以上經驗的小伙伴深入學習提升的進階課程,基本涵蓋了95%以上Android開發(fā)知識點,真正體系化!
由于文件比較大,這里只是將部分目錄大綱截圖出來,每個節(jié)點里面都包含大廠面經、學習筆記、源碼講義、實戰(zhàn)項目、講解視頻,并且后續(xù)會持續(xù)更新
如果你覺得這些內容對你有幫助,可以添加V獲?。簐ip204888 (備注Android)
學習福利
【Android 詳細知識點思維腦圖(技能樹)】
其實Android開發(fā)的知識點就那么多,面試問來問去還是那么點東西。所以面試沒有其他的訣竅,只看你對這些知識點準備的充分程度。so,出去面試時先看看自己復習到了哪個階段就好。
雖然 Android 沒有前幾年火熱了,已經過去了會四大組件就能找到高薪職位的時代了。這只能說明 Android 中級以下的崗位飽和了,現(xiàn)在高級工程師還是比較缺少的,很多高級職位給的薪資真的特別高(錢多也不一定能找到合適的),所以努力讓自己成為高級工程師才是最重要的。
這里附上上述的面試題相關的幾十套字節(jié)跳動,京東,小米,騰訊、頭條、阿里、美團等公司19年的面試題。把技術點整理成了視頻和PDF(實際上比預期多花了不少精力),包含知識脈絡 + 諸多細節(jié)。
由于篇幅有限,這里以圖片的形式給大家展示一小部分。
網上學習 Android的資料一大堆,但如果學到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那么很難做到真正的技術提升。希望這份系統(tǒng)化的技術體系對大家有一個方向參考。文章來源:http://www.zghlxwxcb.cn/news/detail-851881.html
重要的。
這里附上上述的面試題相關的幾十套字節(jié)跳動,京東,小米,騰訊、頭條、阿里、美團等公司19年的面試題。把技術點整理成了視頻和PDF(實際上比預期多花了不少精力),包含知識脈絡 + 諸多細節(jié)。
由于篇幅有限,這里以圖片的形式給大家展示一小部分。
[外鏈圖片轉存中…(img-PQVXuCqk-1711912721751)]
網上學習 Android的資料一大堆,但如果學到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那么很難做到真正的技術提升。希望這份系統(tǒng)化的技術體系對大家有一個方向參考。
本文已被CODING開源項目:《Android學習筆記總結+移動架構視頻+大廠面試真題+項目實戰(zhàn)源碼》收錄文章來源地址http://www.zghlxwxcb.cn/news/detail-851881.html
到了這里,關于Android SystemUI源碼分析與修改,作為Android程序員應該怎樣去規(guī)劃自己的學習路線的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!