2011-03-17 13 views
0

こんにちは私はアンドロイドでステータスバーのアイコンを変更しようとしています。ファイルstatusbar_background.9.pngが変更されます。 1.しかし、それを透明にする方法を教えてくれる人がいますか? カスタマイズに関しては、ステータスバーの幅を相対的なサイズに変更できますか?画面に表示されているアイコンの数に基づいていますか?私は、ファイル/frameworks/base/packages/systemui/src/com/android/systemui/statusbar/statusbarservice.javaを変更しています Androidの移植 - ステータスバーのカスタマイズ

は私に おかげ アブ

+0

をあなたの質問が明確ではないuはあなたのxmlファイルを貼り付けることができ、あなたの質問をclearfy、Iあなたがスクロールビューを使用する必要がありますかと思う –

+0

こんにちは私はアンドロイドのソースコードを参照しています。また、xmlファイルはstatus_bar.xml(/ frameworks/base/packages/systemui/res/layout /にあります)フォルダです。 私の理解では、StatusbarManager.javaで使用される関数はmakestatusbarview()です。どこを透明にする必要があるのでしょうか? – user637465

答えて

2

最後に、私は答えを見つけたいくつかの提案を教えてください私の質問のために。
私は次のように変更:
android:background="@drawable/statusbar_background"

android:background="@android:color/transparent" 

/framework/base/packages/systemui/res/statusbar.xmlファイル内。ステータスバーのサイズを変更するために

は、以下を実行する必要があります 以下でStatusbarService.javaファイルにprotected void addStatusBarView()機能を変更します。

WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
       //abhi 17 mar ViewGroup.LayoutParams.MATCH_PARENT, 
       mwidth, //specify the width of statusbar.. 
       height, 
       WindowManager.LayoutParams.TYPE_STATUS_BAR, 
       WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE 
        | WindowManager.LayoutParams.FLAG_TOUCHABLE_WHEN_WAKING, 

       PixelFormat.TRANSPARENT 
       ); 
     // abhi 15 march lp.gravity = Gravity.TOP | Gravity.FILL_HORIZONTAL; 
     lp.gravity = Gravity.TOP | Gravity.LEFT; 
     lp.setTitle("StatusBar"); 
     //lp.gravity = Gravity.CENTER;//abhi 18 march 
     lp.windowAnimations = com.android.internal.R.style.Animation_StatusBar; 
     lp.x = 25; // to move status bar to x position 
     WindowManagerImpl.getDefault().addView(view, lp); 

..... 
} 
+0

AndroidManifest.xmlでどのような権限を指定しましたか? – dcanh121

+0

@ dcanh121 - あなたはサードパーティのアプリからこれを行うことはできません。議論されているのは、Android自体のソースコードの変更です。 –

関連する問題