2011-03-17 2 views
0

Привет Я пытаюсь изменить значок состояния в android. Файл, statusbar_background.9.png должен быть изменен. 1. Но может ли кто-нибудь предложить мне, как сделать его прозрачным? Что касается настройки, можем ли мы изменить размер строки состояния на относительный размер? означает, на основе количества значков, присутствующих на экране? Я модифицируя файл /frameworks/base/packages/systemui/src/com/android/systemui/statusbar/statusbarservice.javaAndroid портирование - настройка строки состояния

Пожалуйста, дайте мне предложение Спасибо Ab

+0

ваш вопрос не ясно, может у вставить файл XML и clearfy ваш вопрос, я думаю, вы должны использовать scrollview –

+0

Привет, я имею в виду исходный код Android. Кроме того, файл 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.

Для изменения размера строки состояния необходимо выполнить следующие действия: изменить функцию protected void addStatusBarView() в StatusbarService.java файл со следующим:

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. –

Смежные вопросы