android 4.4 SystemUI 의 분석 및 미끄럼 navigation 의 표시 와 숨 김
1. 알림 표시 줄 의 시간 과 날 짜 는 status 에 표 시 됩 니 다.bar_expanded_header. xml 에 이 xml 에 단축 디 스 플레이 를 추가 할 수 있 습 니 다.
2. 알림 표시 줄 의 머리 는 status 에 배치 되 어 있 습 니 다.bar_expanded. xml 에서 Phone Status Bar. java 에서 레이아웃 불 러 오기
3. QuickSettings. java 알림 표시 줄 을 이 종류 에 빠르게 설정 하여 불 러 옵 니 다. 레이아웃 은 quick 입 니 다.settings.xml QuickSettings Basic Tile 단축 아이콘 아이콘 과 text 추가 mtk_quick_settings_tile_basic. xml 오른쪽 하단 에 있 는 아이콘 icon, text 레이아웃 표시 QuickSettingsConnectionModel. java 아이콘 표시 설정
4. 미끄럼 표시 와 아래쪽 탐색 표시 줄 숨 기기 navigation
글 참조 링크 열기
1. ISTatsBar. aidl 과 ISTatsBar Service. aidl 에서 aidl 인 터 페 이 스 를 정의 합 니 다
디 렉 터 리:
\alps\frameworks\base\core\java\com\android\internal\statusbar\IStatusBar.aidl
\alps\frameworks\base\core\java\com\android\internal\statusbar\IStatusBarService.aidl
:
/**showNavigationBar add by jon*/
void showNavigationBar();
2. StatusBarManager Service. java 와 Phone Window Manager. java 에서 쇼 Navigation Bar () 방법 을 정의 합 니 다.디 렉 터 리:
1)、\alps\frameworks\base\policy\src\com\android\internal\policy\impl\PhoneWindowManager.java
:
@Override
public void onSwipeFromBottom() {
if (mNavigationBar != null && mNavigationBarOnBottom) {
requestTransientBars(mNavigationBar);
}else
{//add by jon
showNavigationBar();
}
}
......
private void showNavigationBar()//add by jon
{
mHandler.post(new Runnable()
{
@Override
public void run()
{
try
{
IStatusBarService statusbar=getStatusBarService();
if(null!=statusbar)
{
statusbar.showNavigationBar();
}
}catch(RemoteException e)
{
mStatusBarService =null;
}
}
});
}
2)、\alps\frameworks\base\services\java\com\android\server\StatusBarManagerService.java
첨가 방법: @Override
public void showNavigationBar()//add by jon
{
enforceStatusBar();
synchronized(mLock)
{
mHandler.post(new Runnable()
{
public void run()
{
if(null!=mBar)
{
try
{
mBar.showNavigationBar();
}
catch (RemoteException ex)
{
}
}//if
}
});
}
}
3、CommandQueue.java (extends IStatusBar.Stub)
추가:
private static final int MSG_SHOW_NAVIGATIONBAR = 21 << MSG_SHIFT;//add by jon
......
public void showNavigationBar();//add by jon
......
public void showNavigationBar()//add by jon
{
synchronized(mList)
{
mHandler.removeMessages(MSG_SHOW_NAVIGATIONBAR);
mHandler.sendEmptyMessage(MSG_SHOW_NAVIGATIONBAR);
}
}
4、PhoneStatusBar.java
@Override
// CommandQueue
public void showNavigationBar() {//add by jon
if (null != mNavigationBarView) {
return;
} else {
final Context contex=mContext;
int layoutId = R.layout.navigation_bar;
if(RecentsActivity.FLOAT_WINDOW_SUPPORT){
layoutId = R.layout.navigation_bar_float_window;
}
/// @}
mNavigationBarView =
(NavigationBarView) View.inflate(contex,layoutId, null);
mNavigationBarView.setDisabledFlags(mDisabled);
mNavigationBarView.setBar(this);
mNavigationBarView.setOnTouchListener(new
View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
checkUserAutohide(v, event);
return false;
}});
addNavigationBar();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.