|
Personalización y temas LG G2 Personalización y temas LG G2 |
|
Herramientas |
#1
|
||||
|
||||
Personaliza como quieras tu G2
Bueno, siguiendo el concepto de android de compartir, y como veo que hay gente que le gusta cacharrear con sus telefonos pero por desconocimiento o por temor no suelen tocarlos, creo que seria bueno tener un punto de encuentro para poder aprender ha hacerlo.
Se aceptan aportaciones, Hace tiempo habia un post en el subforo del galaxy s3 que me encantaba, a mi y a mucha gente y no estaria mal tener algo parecido. Algunos ya sabeis del post que hablo. Voy a empezar este post para poder enseñar, compartir, ayudar o lo que sea con los usuarios que lo deseen. Por favor, abstenerse de ensuciar el post en caso de que no te interese o no te guste el tema, Comentarios del tipo, xposed hace esto, xposed hace lo otro sobran, gracias. Me gustaria que este post no fuera un tutorial para aprender a compilar y descompilar apks, creo que el que le interese deberia saber buscar informacion acerca del tema para poder hacerlo. Si quereis os pongo otro tutorial sencillo para aprender tambien, pero ya digo que no me gustaria. Recordar que cada uno es responsable de lo que hace en su telefono, seamos un poco conscientes de lo que hacemos por favor. Sin mas empezamos. Vamos a empezar con el systemui que se puede modificar de mogollon de maneras. para centrar el reloj nos vamos a res/layout y abrimos el statusbar.xml, nos encontraremos algo como esto Código:
<?xml version="1.0" encoding="utf-8"?> <com.android.systemui.statusbar.phone.PhoneStatusBarView android:orientation="vertical" android:id="@id/status_bar" android:background="@drawable/stat_sys_indi_bg" android:focusable="true" android:fitsSystemWindows="false" android:descendantFocusability="afterDescendants" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"> <com.lge.systemui.StatusBarBackground android:id="@id/notification_background" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <ImageView android:id="@id/notification_lights_out" android:paddingBottom="2.0dip" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:paddingStart="6.0dip" /> <com.lge.systemui.widget.StatusBarLinearLayout android:orientation="horizontal" android:id="@id/status_bar_contents" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layoutDirection="ltr" android:paddingStart="3.0dip" android:paddingEnd="3.0dip"> <com.lge.systemui.widget.OperatorTextView android:textStyle="bold" android:gravity="center_vertical" android:id="@id/operator_text" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:layoutDirection="ltr" android:paddingStart="2.0dip" android:paddingEnd="2.0dip" lge:textStroke="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidth="0.5dip" lge:textStrokeColor="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> <LinearLayout android:orientation="horizontal" android:id="@id/notification_icon_area" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" android:layoutDirection="ltr"> <com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" /> <com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layoutDirection="ltr" android:layout_alignParentStart="true" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr" /> <LinearLayout android:orientation="horizontal" android:id="@id/system_icon_area" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr"> <LinearLayout android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr"> <com.lge.systemui.widget.VoLteImageView android:id="@id/volte_icon" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingStart="1.0dip" /> <include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="fill_parent" layout="@layout/signal_cluster_view" /> <com.lge.systemui.widget.TextViewStroke android:textSize="13.0dip" android:textColor="#ffffffff" android:gravity="center_vertical" android:id="@id/level_percent" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr" android:paddingStart="1.0dip" android:paddingEnd="1.0dip" lge:textStrokeTicker="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidthTicker="0.5dip" lge:textStrokeColorTicker="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> <ImageView android:id="@id/battery" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginStart="1.0dip" /> </LinearLayout> <com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:textSize="17.0dip" android:textColor="#ffffffff" android:gravity="center_vertical" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:layout_marginEnd="4.0dip" lge:textStroke="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidth="0.5dip" lge:textStrokeColor="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> </LinearLayout> </com.lge.systemui.widget.StatusBarLinearLayout> <LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layoutDirection="ltr" android:paddingStart="6.0dip"> <ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginEnd="4.0dip"> <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="fitCenter" /> <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="fitCenter" /> </ImageSwitcher> <com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0" android:paddingEnd="10.0dip"> <com.lge.systemui.widget.TextViewStroke android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:layoutDirection="ltr" lge:textStrokeTicker="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidthTicker="0.5dip" lge:textStrokeColorTicker="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> <com.lge.systemui.widget.TextViewStroke android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:layoutDirection="ltr" lge:textStrokeTicker="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidthTicker="0.5dip" lge:textStrokeColorTicker="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> </com.android.systemui.statusbar.phone.TickerView> </LinearLayout> </com.android.systemui.statusbar.phone.PhoneStatusBarView> Como podemos ver el reloj esta metido dentro de com.lge.systemui.widget.StatusBarLinearLayout que es el layout que engloba todos los iconos del statusbar. Para poder centrarlos solo tenemos que crear nuestro propio layout y sacarlo de donde esta. Con esto conseguiremos ponerlo donde queramos. Código:
<?xml version="1.0" encoding="utf-8"?> <com.android.systemui.statusbar.phone.PhoneStatusBarView android:orientation="vertical" android:id="@id/status_bar" android:background="@drawable/stat_sys_indi_bg" android:focusable="true" android:fitsSystemWindows="false" android:descendantFocusability="afterDescendants" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"> <com.lge.systemui.StatusBarBackground android:id="@id/notification_background" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <ImageView android:id="@id/notification_lights_out" android:paddingBottom="2.0dip" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:paddingStart="6.0dip" /> <com.lge.systemui.widget.StatusBarLinearLayout android:orientation="horizontal" android:id="@id/status_bar_contents" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layoutDirection="ltr" android:paddingStart="3.0dip" android:paddingEnd="3.0dip"> <com.lge.systemui.widget.OperatorTextView android:textStyle="bold" android:gravity="center_vertical" android:id="@id/operator_text" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:layoutDirection="ltr" android:paddingStart="2.0dip" android:paddingEnd="2.0dip" lge:textStroke="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidth="0.5dip" lge:textStrokeColor="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> <LinearLayout android:orientation="horizontal" android:id="@id/notification_icon_area" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" android:layoutDirection="ltr"> <com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" /> <include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="fill_parent" layout="@layout/signal_cluster_view" /> <com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layoutDirection="ltr" android:layout_alignParentStart="true" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr" /> <LinearLayout android:orientation="horizontal" android:id="@id/system_icon_area" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr"> <LinearLayout android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr"> <com.lge.systemui.widget.VoLteImageView android:id="@id/volte_icon" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingStart="1.0dip" /> <com.lge.systemui.widget.TextViewStroke android:textSize="13.0dip" android:textColor="#ffffffff" android:gravity="center_vertical" android:id="@id/level_percent" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr" android:paddingStart="1.0dip" android:paddingEnd="1.0dip" lge:textStrokeTicker="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidthTicker="0.5dip" lge:textStrokeColorTicker="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> <ImageView android:id="@id/battery" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginStart="1.0dip" /> </LinearLayout> </LinearLayout> </com.lge.systemui.widget.StatusBarLinearLayout> <LinearLayout android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:textSize="17.0dip" android:textColor="#ffffffff" android:gravity="center_vertical" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:layout_marginEnd="4.0dip" lge:textStroke="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidth="0.5dip" lge:textStrokeColor="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layoutDirection="ltr" android:paddingStart="6.0dip"> <ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginEnd="4.0dip"> <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="fitCenter" /> <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="fitCenter" /> </ImageSwitcher> <com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0" android:paddingEnd="10.0dip"> <com.lge.systemui.widget.TextViewStroke android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:layoutDirection="ltr" lge:textStrokeTicker="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidthTicker="0.5dip" lge:textStrokeColorTicker="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> <com.lge.systemui.widget.TextViewStroke android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:layoutDirection="ltr" lge:textStrokeTicker="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidthTicker="0.5dip" lge:textStrokeColorTicker="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> </com.android.systemui.statusbar.phone.TickerView> </LinearLayout> </com.android.systemui.statusbar.phone.PhoneStatusBarView> Estando aqui, se puede aprovechar y cambiar el color del reloj, seria muy sencillo, simplemente cambiar el codigo de color que sale en la linea del reloj, que esta en hexadecimal por el el que queramos y listo. (ffffffff, lo cambiamos por el color que queramos) Compilamos y a correr, ya tenemos el reloj centrado. Para cambiar la cortina Para esto es mucho mas sencillo aun, pero podemos complicarlo un poco y poder tirar de unos modulos para xposed que tengo fabricados que a mi personalmente me encantan, el metodo sencillo para colocar una imagen en la cortina, seria tan sencillo como ir a res/layout y abrir status_bar_expanded.xml En la segunda linea del xml nos encontramos algo asi Código:
<com.android.systemui.statusbar.phone.NotificationPanelView android:id="@id/notification_panel" android:background="@color/bg_expanded" android:paddingTop="@dimen/notification_panel_padding_top" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginStart="@dimen/notification_panel_margin_left" Código:
<com.android.systemui.statusbar.phone.NotificationPanelView android:id="@id/notification_panel" android:background="@drawable/animacion1" android:paddingTop="@dimen/notification_panel_padding_top" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginStart="@dimen/notification_panel_margin_left" Bien, una vez echo esto, vamos a la carpeta res/drawable-xxhdpi y metemos dentro un png de una resolucion maxima de 1080x1920 con el nombre que hemos puesto antes, en este caso animacion1.png. compilamos y a correr, ya tenemos nuestra cortina personalizada. Cortina animada ahora bien, si queremos poner una cortina animada, es tan sencillo como añadir un xml nuevo en la carpeta drawable. Vamos a ello. nos bajamos animacion1.zip que es el xml que contiene la animacion.Nos encontraremos algo como esto Código:
<?xml version="1.0" encoding="utf-8"?> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="120" android:drawable="@drawablefalete_cortina1" /> </animation-list> En este caso tambien deberemos modificar el statusbar_expanded.xml como haciamos antes, pero como ya lo hicimos y pusimos animacion1, pues ya lo tenemos preparado, sencillo verdad? compilar y a correr, ya tenemos todo preparado para poner la cortina animada. aqui solo hemos puesto una imagen porque recientemente cree el modulo de xposed para no tener que sobrecargar el systemui.apk, pero bien se podria hacer todo ahi, tendriamos que meter las imagenes, compilar, descompilar, ampliar el xml de la animacion, meter las imagenes, bla bla bla, mas complicado todo, creo que asi es mucho mas sencillo Mas adelante os explico como se modificarian los modulos de las cortinas para que podais haceroslas a vuestro gusto. De momento lo dejamos asi, preparado para poder ponerlo. aqui unas cuantas cortinas aqui. Para activarlas, bajarla, instalar como una apk normal y activarla en el xposed. reiniciar y listo. para quitarla, tan sencillo como desactivar el modulo de xposed y reiniciar. Seguimos pues. para quitar el botoncito de borrar cuando salen notificaciones Para esto es algo mas lioso si queremos hacerlo bien, aunque ya tenemos un icono para esto integrado en el systemui vamos a ponerle dos iconos. nos vamos a res/layout y abrimos status_bar_expanded_setting_layout.xml y nos encontraremos algo asi. Código:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:id="@id/setting_layout_normal" android:background="@drawable/indi_noti_list_title_bg" android:layout_width="fill_parent" android:layout_height="@dimen/setting_layout_height" android:layoutDirection="ltr" xmlns:android="http://schemas.android.com/apk/res/android"> <TextView android:textSize="16.0dip" android:textStyle="bold" android:textColor="@color/np_date" android:gravity="center_vertical" android:id="@id/notification_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_latest_events_title" android:shadowColor="#88000000" android:shadowDx="1.0" android:shadowDy="1.0" android:shadowRadius="1.33" android:layout_centerVertical="true" android:paddingStart="8.659973dip" android:layout_alignParentStart="true" /> <TextView android:textSize="@dimen/setting_divider_clear_text_size" android:textStyle="bold" android:textColor="@color/np_clear_all" android:gravity="center" android:id="@id/clear_all_button" android:background="@drawable/indi_noti_btn_clear" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_clear_all_button" android:layout_centerVertical="true" android:contentDescription="@string/accessibility_clear_all_notification" android:paddingStart="@dimen/clear_padding_left" android:paddingEnd="@dimen/clear_padding_right" android:layout_marginEnd="@dimen/clear_margin_right" android:layout_alignParentEnd="true" /> </RelativeLayout> Código:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:id="@id/setting_layout_normal" android:background="@drawable/indi_noti_list_title_bg" android:layout_width="fill_parent" android:layout_height="@dimen/setting_layout_height" android:layoutDirection="ltr" xmlns:android="http://schemas.android.com/apk/res/android"> <TextView android:textSize="16.0dip" android:textStyle="bold" android:textColor="@color/np_date" android:gravity="center_vertical" android:id="@id/notification_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_latest_events_title" android:shadowColor="#88000000" android:shadowDx="1.0" android:shadowDy="1.0" android:shadowRadius="1.33" android:layout_centerVertical="true" android:paddingStart="8.659973dip" android:layout_alignParentStart="true" /> </RelativeLayout> Código:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:gravity="bottom" android:orientation="horizontal" android:id="@id/header" android:background="@drawable/indi_noti_settings_bg" android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_height" android:baselineAligned="false" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"> <RelativeLayout android:enabled="false" android:id="@id/datetime" android:background="@drawable/indi_noti_datetime_bg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0" android:paddingStart="6.659973dip" android:paddingEnd="0.0dip"> <com.android.systemui.statusbar.policy.Clock android:textSize="29.0dip" android:textStyle="normal" android:textColor="@color/np_clock" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/notification_panel_clock_padding_top" android:singleLine="true" android:layout_marginEnd="10.0dip" /> <com.android.systemui.statusbar.policy.DateView android:textSize="14.669983dip" android:textStyle="normal" android:textColor="#ffa9adb3" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" android:layout_alignBaseline="@id/clock" android:layout_toEndOf="@id/clock" /> </RelativeLayout> <Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" /> <TextView android:textSize="11.0dip" android:textStyle="bold" android:textColor="#ff00a040" android:layout_gravity="center_vertical" android:id="@id/header_debug_info" android:padding="2.0dip" android:visibility="invisible" android:layout_width="0.0dip" android:layout_height="wrap_content" android:fontFamily="sans-serif-condensed" /> <FrameLayout android:id="@id/settings_button_holder" android:layout_width="@dimen/notification_panel_header_height" android:layout_height="@dimen/notification_panel_header_height" android:layout_marginStart="0.0dip" android:layout_marginEnd="11.329987dip"> <ImageView android:id="@id/settings_button" android:layout_width="@dimen/notification_panel_header_height" android:layout_height="@dimen/notification_panel_header_height" android:src="@drawable/ic_notify_settings_set" android:scaleType="center" android:contentDescription="@string/accessibility_system_settings_button" /> <ImageView android:id="@id/notification_button" android:visibility="gone" android:layout_width="@dimen/notification_panel_header_height" android:layout_height="@dimen/notification_panel_header_height" android:src="@drawable/ic_notify_settings_set" android:scaleType="center" android:contentDescription="@string/accessibility_notifications_button" /> </FrameLayout> </LinearLayout> Código:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:gravity="bottom" android:orientation="horizontal" android:id="@id/header" android:background="@drawable/indi_noti_settings_bg" android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_height" android:baselineAligned="false" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"> <RelativeLayout android:enabled="false" android:id="@id/datetime" android:background="@drawable/indi_noti_datetime_bg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0" android:paddingStart="6.659973dip" android:paddingEnd="0.0dip"> <com.android.systemui.statusbar.policy.Clock android:textSize="29.0dip" android:textStyle="normal" android:textColor="@color/np_clock" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/notification_panel_clock_padding_top" android:singleLine="true" android:layout_marginEnd="10.0dip" /> <com.android.systemui.statusbar.policy.DateView android:textSize="14.669983dip" android:textStyle="normal" android:textColor="#ffa9adb3" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" android:layout_alignBaseline="@id/clock" android:layout_toEndOf="@id/clock" /> </RelativeLayout> <Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" /> <ImageView android:id="@id/clear_all_button" android:layout_width="@dimen/notification_panel_header_height" android:layout_height="@dimen/notification_panel_header_height" android:src="@drawable/ic_notify_clear" android:contentDescription="@string/accessibility_home" systemui:glowBackground="@drawable/ic_sysbar_highlight" /> <TextView android:textSize="11.0dip" android:textStyle="bold" android:textColor="#ff00a040" android:layout_gravity="center_vertical" android:id="@id/header_debug_info" android:padding="2.0dip" android:visibility="invisible" android:layout_width="0.0dip" android:layout_height="wrap_content" android:fontFamily="sans-serif-condensed" /> <FrameLayout android:id="@id/settings_button_holder" android:layout_width="@dimen/notification_panel_header_height" android:layout_height="@dimen/notification_panel_header_height" android:layout_marginStart="0.0dip" android:layout_marginEnd="11.329987dip"> <ImageView android:id="@id/settings_button" android:layout_width="@dimen/notification_panel_header_height" android:layout_height="@dimen/notification_panel_header_height" android:src="@drawable/ic_notify_settings_set" android:scaleType="center" android:contentDescription="@string/accessibility_system_settings_button" /> <ImageView android:id="@id/notification_button" android:visibility="gone" android:layout_width="@dimen/notification_panel_header_height" android:layout_height="@dimen/notification_panel_header_height" android:src="@drawable/ic_notify_settings_set" android:scaleType="center" android:contentDescription="@string/accessibility_notifications_button" /> </FrameLayout> </LinearLayout> Bueno, podriamos dejarlo aqui, compilar y a correr, pero tambien quiero que al pulsar el boton cambie de color como hace el boton de los ajustes, para darle un toque mas profesional al asunto. Para esto vamos a ello abrimos res/drawable ic_notify_clear.xml y nos encontraremos con algo asi Código:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawableic_notify_clear_pressed" /> <item android:drawable="@drawableic_notify_clear_normal" /> </selector> ahora vais a res/drawable-xxhdpi y vereis que teneis ese icono (ic_notifi_clear_normal), bueno, pues lo duplicais y con el photoshop o el programa que useis lo editais y lo dejais azul o rojo o como os de la gana. este sera el icono que se vera cuando pulseis el boton para borrar las notificaciones. Ya esta todo. compilais y a correr, ya teneis el boton de borrar tipo aosp. cambiar de posicion la cobertura y el wifi Bien, con este vamos a cambiar de posicion los iconos del statusbar de la cobertura y el wifi para pasarlos al lado izquierdo. Amos al lio. nos vamos a res/layout y abrimos el status_bar.xml nos encontraermos con esto. Código:
<?xml version="1.0" encoding="utf-8"?> <com.android.systemui.statusbar.phone.PhoneStatusBarView android:orientation="vertical" android:id="@id/status_bar" android:background="@drawable/stat_sys_indi_bg" android:focusable="true" android:fitsSystemWindows="false" android:descendantFocusability="afterDescendants" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"> <com.lge.systemui.StatusBarBackground android:id="@id/notification_background" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <ImageView android:id="@id/notification_lights_out" android:paddingBottom="2.0dip" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:paddingStart="6.0dip" /> <com.lge.systemui.widget.StatusBarLinearLayout android:orientation="horizontal" android:id="@id/status_bar_contents" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layoutDirection="ltr" android:paddingStart="3.0dip" android:paddingEnd="3.0dip"> <com.lge.systemui.widget.OperatorTextView android:textStyle="bold" android:gravity="center_vertical" android:id="@id/operator_text" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:layoutDirection="ltr" android:paddingStart="2.0dip" android:paddingEnd="2.0dip" lge:textStroke="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidth="0.5dip" lge:textStrokeColor="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> <LinearLayout android:orientation="horizontal" android:id="@id/notification_icon_area" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" android:layoutDirection="ltr"> <com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" /> <com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layoutDirection="ltr" android:layout_alignParentStart="true" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr" /> <LinearLayout android:orientation="horizontal" android:id="@id/system_icon_area" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr"> <LinearLayout android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr"> <com.lge.systemui.widget.VoLteImageView android:id="@id/volte_icon" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingStart="1.0dip" /> <include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="fill_parent" layout="@layout/signal_cluster_view" /> <com.lge.systemui.widget.TextViewStroke android:textSize="13.0dip" android:textColor="#ffffffff" android:gravity="center_vertical" android:id="@id/level_percent" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr" android:paddingStart="1.0dip" android:paddingEnd="1.0dip" lge:textStrokeTicker="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidthTicker="0.5dip" lge:textStrokeColorTicker="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> <ImageView android:id="@id/battery" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginStart="1.0dip" /> </LinearLayout> <com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:textSize="17.0dip" android:textColor="#ffffffff" android:gravity="center_vertical" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:layout_marginEnd="4.0dip" lge:textStroke="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidth="0.5dip" lge:textStrokeColor="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> </LinearLayout> </com.lge.systemui.widget.StatusBarLinearLayout> <LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layoutDirection="ltr" android:paddingStart="6.0dip"> <ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginEnd="4.0dip"> <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="fitCenter" /> <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="fitCenter" /> </ImageSwitcher> <com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0" android:paddingEnd="10.0dip"> <com.lge.systemui.widget.TextViewStroke android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:layoutDirection="ltr" lge:textStrokeTicker="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidthTicker="0.5dip" lge:textStrokeColorTicker="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> <com.lge.systemui.widget.TextViewStroke android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:layoutDirection="ltr" lge:textStrokeTicker="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidthTicker="0.5dip" lge:textStrokeColorTicker="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> </com.android.systemui.statusbar.phone.TickerView> </LinearLayout> </com.android.systemui.statusbar.phone.PhoneStatusBarView> Código:
<?xml version="1.0" encoding="utf-8"?> <com.android.systemui.statusbar.phone.PhoneStatusBarView android:orientation="vertical" android:id="@id/status_bar" android:background="@drawable/stat_sys_indi_bg" android:focusable="true" android:fitsSystemWindows="false" android:descendantFocusability="afterDescendants" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"> <com.lge.systemui.StatusBarBackground android:id="@id/notification_background" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <ImageView android:id="@id/notification_lights_out" android:paddingBottom="2.0dip" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:paddingStart="6.0dip" /> <com.lge.systemui.widget.StatusBarLinearLayout android:orientation="horizontal" android:id="@id/status_bar_contents" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layoutDirection="ltr" android:paddingStart="3.0dip" android:paddingEnd="3.0dip"> <com.lge.systemui.widget.OperatorTextView android:textStyle="bold" android:gravity="center_vertical" android:id="@id/operator_text" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:layoutDirection="ltr" android:paddingStart="2.0dip" android:paddingEnd="2.0dip" lge:textStroke="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidth="0.5dip" lge:textStrokeColor="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> <LinearLayout android:orientation="horizontal" android:id="@id/notification_icon_area" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" android:layoutDirection="ltr"> <com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" /> <include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="fill_parent" layout="@layout/signal_cluster_view" /> <com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layoutDirection="ltr" android:layout_alignParentStart="true" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr" /> <LinearLayout android:orientation="horizontal" android:id="@id/system_icon_area" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr"> <LinearLayout android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr"> <com.lge.systemui.widget.VoLteImageView android:id="@id/volte_icon" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingStart="1.0dip" /> <com.lge.systemui.widget.TextViewStroke android:textSize="13.0dip" android:textColor="#ffffffff" android:gravity="center_vertical" android:id="@id/level_percent" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr" android:paddingStart="1.0dip" android:paddingEnd="1.0dip" lge:textStrokeTicker="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidthTicker="0.5dip" lge:textStrokeColorTicker="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> <ImageView android:id="@id/battery" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginStart="1.0dip" /> </LinearLayout> </LinearLayout> </com.lge.systemui.widget.StatusBarLinearLayout> <LinearLayout android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:textSize="17.0dip" android:textColor="#ffffffff" android:gravity="center_vertical" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:layout_marginEnd="4.0dip" lge:textStroke="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidth="0.5dip" lge:textStrokeColor="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layoutDirection="ltr" android:paddingStart="6.0dip"> <ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginEnd="4.0dip"> <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="fitCenter" /> <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="fitCenter" /> </ImageSwitcher> <com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0" android:paddingEnd="10.0dip"> <com.lge.systemui.widget.TextViewStroke android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:layoutDirection="ltr" lge:textStrokeTicker="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidthTicker="0.5dip" lge:textStrokeColorTicker="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> <com.lge.systemui.widget.TextViewStroke android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:layoutDirection="ltr" lge:textStrokeTicker="@bool/config_systemui_stroke_effect_text" lge:textStrokeWidthTicker="0.5dip" lge:textStrokeColorTicker="#b2000000" xmlns:lge="http://schemas.android.com/apk/res/com.android.systemui" /> </com.android.systemui.statusbar.phone.TickerView> </LinearLayout> </com.android.systemui.statusbar.phone.PhoneStatusBarView> Bienn,ya tenemos la cobertura y el wifi a la izquierda. ya que estamos aqui aprovechamos y ponemos un contador para la subida y bajada de datos. Podriamos hacerlo de modo sencillo y dejarlo tal como lo hace xposed, pero a mi personalmente me parece demasiado grande y no me gusta, asi que voy a explicar como dejarlo por debajo de la cobertura. nos vamos a res/layout y abrimos el signal_cluster.xml nos encontraremos con esto Código:
<?xml version="1.0" encoding="utf-8"?> <com.android.systemui.statusbar.SignalClusterView android:gravity="center" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr" xmlns:android="http://schemas.android.com/apk/res/android"> <FrameLayout android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="-2.0dip"> <ImageView android:id="@id/wifi_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" android:layout_centerVertical="true" android:layout_alignParentEnd="true" /> <ImageView android:layout_gravity="bottom|center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </FrameLayout> <FrameLayout android:id="@id/mobile_combo3" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:id="@id/third_type2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </FrameLayout> <View android:id="@id/spacer" android:visibility="gone" android:layout_width="6.0dip" android:layout_height="6.0dip" /> <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <FrameLayout android:id="@id/mobile_combo2" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:id="@id/third_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@id/third_type" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </FrameLayout> </FrameLayout> <ImageView android:id="@id/no_sim" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@id/no_service" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <View android:visibility="invisible" android:layout_width="6.0dip" android:layout_height="6.0dip" /> <FrameLayout android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:layout_gravity="end|bottom|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </FrameLayout> </FrameLayout> <ImageView android:id="@id/airplane" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </com.android.systemui.statusbar.SignalClusterView> Código:
<?xml version="1.0" encoding="utf-8"?> <com.android.systemui.statusbar.SignalClusterView android:gravity="center" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr" xmlns:android="http://schemas.android.com/apk/res/android"> <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <View android:visibility="invisible" android:layout_width="6.0dip" android:layout_height="6.0dip" /> <FrameLayout android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content"> <LinearLayout android:gravity="center_vertical" android:orientation="vertical" android:id="@id/ffaletetrafico" android:paddingLeft="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent"> <ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <com.android.systemui.statusbar.policy.Traffic android:textAppearance="@style/TextAppearance.StatusBar.Ffalete" android:gravity="bottom|right|center" android:id="@id/trafico" android:paddingRight="3.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" /> </LinearLayout> <ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:layout_gravity="end|bottom|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </FrameLayout> </FrameLayout> <FrameLayout android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="-2.0dip"> <ImageView android:id="@id/wifi_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" android:layout_centerVertical="true" android:layout_alignParentEnd="true" /> <ImageView android:layout_gravity="bottom|center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </FrameLayout> <FrameLayout android:id="@id/mobile_combo3" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:id="@id/third_type2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </FrameLayout> <View android:id="@id/spacer" android:visibility="gone" android:layout_width="6.0dip" android:layout_height="6.0dip" /> <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <FrameLayout android:id="@id/mobile_combo2" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:id="@id/third_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@id/third_type" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </FrameLayout> </FrameLayout> <ImageView android:id="@id/no_sim" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@id/no_service" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@id/airplane" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </com.android.systemui.statusbar.SignalClusterView> Tambien hay varias cosas nuevas. un par de id, un style nuevo y una linea nueva (com.android.systemui.statusbar.policy.Traffic ) que es el contador de datos propiamente dicho. El contador, no es mio, ni de casualidad vaya, es de xda, pero como no recuerdo quien lo hizo no puedo agradecerselo. Para insertarlo, es facil, siguiendo la ruta que tiene colocamos unos smalis dentro. esto seria, abrir en smali/com/android/systemui/statusbar/policy y aqui dentro metemos los smalis que os dejo por aquismalis-datos.rar Despues vamos a res/values y abrimos el ids.xml al final del todo antes del resources metemos los ids nuevos Código:
<item type="id" name="trafico">false</item> <item type="id" name="ffaletetrafico">false</item> Código:
<style name="TextAppearance.StatusBar.Ffalete" parent="@style/TextAppearance.StatusBar.Clock"> <item name="android:textSize">7.0dip</item> <item name="android:textStyle">normal</item> <item name="android:textColor">#ffffffff</item> <item name="android:textAllCaps">false</item> </style> Vale, dicho esto, vamos a cambiar los iconos de la cobertura, ya que con los que trae, como he dicho antes, no se veria el contador. para esto, con photoshop o lo que useis, os vais a res/drawable-xxhdpi y buscais los iconos de la cobertura. Ya os ahorro trabajo, todos los que digan stat_sys_signal_bar5_xxxxxxxxx.png todos!! (son 7) y los dejais de un tamaño de 75x20pixeles. Venga tambien os subo los iconos aqui iconos-cobertura.rar bueno, pues creo que esta todo. solo falta compilar y meterlo al telefono. Si todo ha ido bien, tendreis el contador debajo de la cobertura. Tambien se podria poner el contador debajo del reloj, debajo del wifi, o por fuera de la movida, el tema es crear el layout y meter lo que quieras dentro con el contador de datos. Esto ya es cosa de ir investigando un poco ejjeejejej. Eso si, acordarse de reducir los iconos si lo meteis debajo del wifi por ejemplo o reducir el reloj si lo meteis debajo del mismo, ya que sino pasara la que cuento, que no se vera.
__________________
si te gusta mi trabajo pueds invitarme a unas birras fresquitas por AQUI Gracias!!
Última edición por ffalete Día 15/06/14 a las 16:19:49. |
Los siguientes 20 usuarios han agradecido a ffalete su comentario: | ||
|
#2
|
||||
|
||||
Vamos a cambiar de apk por aqui, asi no me lio ejejejeje
para reducir el navbar Bueno, este es muy sencillo, simplemente hay que descompilar el framework-res.apk, abrir res/values dimens.xml Aqui buscamos estas 3 lineas Código:
<dimen name="config_minScalingTouchMajor">48.0dip</dimen> <dimen name="toast_y_offset">64.0dip</dimen> <dimen name="status_bar_height">25.0dip</dimen> <dimen name="navigation_bar_height">48.0dip</dimen> <dimen name="navigation_bar_height_landscape">48.0dip</dimen> <dimen name="navigation_bar_width">42.0dip</dimen> <dimen name="status_bar_icon_size">24.0dip</dimen> <dimen name="status_bar_content_number_size">48.0sp</dimen> <item type="dimen" name="system_bar_height">@dimen/navigation_bar_height</item> asi quedaria Código:
<dimen name="config_minScalingTouchMajor">48.0dip</dimen> <dimen name="toast_y_offset">64.0dip</dimen> <dimen name="status_bar_height">25.0dip</dimen> <dimen name="navigation_bar_height">24.0dip</dimen> <dimen name="navigation_bar_height_landscape">24.0dip</dimen> <dimen name="navigation_bar_width">18.0dip</dimen> <dimen name="status_bar_icon_size">24.0dip</dimen> <dimen name="status_bar_content_number_size">48.0sp</dimen> <item type="dimen" name="system_bar_height">@dimen/navigation_bar_height</item>
__________________
si te gusta mi trabajo pueds invitarme a unas birras fresquitas por AQUI Gracias!!
Última edición por ffalete Día 15/06/14 a las 16:27:01. |
Los siguientes 12 usuarios han agradecido a ffalete su comentario: | ||
#3
|
||||
|
||||
otro reservado
__________________
si te gusta mi trabajo pueds invitarme a unas birras fresquitas por AQUI Gracias!!
|
Los siguientes 5 usuarios han agradecido a ffalete su comentario: | ||
#4
|
||||
|
||||
Bueno, por aqui voy a tratar de explicaros el metodo sencillo para editar unas imagenes que usa android, que si bien habeis intentado editar, nunca os habran quedado bien, a no ser que lo hayais echo compilando la apk entera o usando el draw9patch del sdk de android.
Este metodo funciona a la perfeccion, yo, es el que uso diariamente y me va de perlas para editar los famosos .9.png. Podriamos estar media tarde explicando que es y como funciona, pero para lo que nos ocupa no lo veo necesario.
(Click para mostrar/ocultar)
Bueno, pues esta es la manera sencilla de editarlos. Lo bueno de esto es que puedes compilarlos todos a la vez no como con el draw9patch que tienes que hacerlo uno a uno y es un petardazo Tutorial Basico para compilar y descompilar
(Click para mostrar/ocultar)
__________________
si te gusta mi trabajo pueds invitarme a unas birras fresquitas por AQUI Gracias!!
Última edición por ffalete Día 16/06/14 a las 16:26:59. |
Los siguientes 14 usuarios han agradecido a ffalete su comentario: | ||
#5
|
||||
|
||||
Bueno solo puedo decir impresionante.
Ffalete eres grande. Espero que la gente aproveche esto un saludo. |
#6
|
||||
|
||||
Engaaaa! Pedazo de tuto que se ha marcado mi amigo ffalete. Valla teeela!!!
Haber si ahora aprendo algo ya! Gracias crack!! Salu2 Pd: David!! Que te echo de menos mamonaso!!! Un gran abrazo amigo!
__________________
TODOS SOMOS ANDROID
|
Los siguientes 2 usuarios han agradecido a ricardcat su comentario: | ||
#9
|
||||
|
||||
__________________
si te gusta mi trabajo pueds invitarme a unas birras fresquitas por AQUI Gracias!!
|
#11
|
||||
|
||||
Grande tioo!!!!
__________________
|
Gracias de parte de: | ||
#12
|
||||
|
||||
Fantasticoooooooooo!!!!!
Buenisima la idea Y los tutos mucho mas. Última edición por manuelmagix Día 15/06/14 a las 23:24:40. |
Gracias de parte de: | ||
#13
|
||||
|
||||
Joer, impresionante. Si pusieras alguna foto de como quedaría, seria la hostia.
__________________
Si andar fuera bueno, el cartero seria inmortal.....
|
Gracias de parte de: | ||
#15
|
||||
|
||||
__________________
si te gusta mi trabajo pueds invitarme a unas birras fresquitas por AQUI Gracias!!
|
Gracias de parte de: | ||
#16
|
||||
|
||||
enga que he puesto un mini tutorial para compilar y eso en el post numero 4
__________________
si te gusta mi trabajo pueds invitarme a unas birras fresquitas por AQUI Gracias!!
|
#17
|
||||
|
||||
Hostia que grande falete no había visto yo este post ¡cómo tengas que poner aquí todas las rutas secretas que te sabes jaja necesitas tres hilos ya encontrado varias cosas que yo ni zorrs me subscribo ¡gran aporte compi +1000
__________________
|
#18
|
||||
|
||||
Que grande eres ffalete
Pillo sitio para ayudar y aportar lo que haga falta. Gran idea compi
__________________
PULSAR EL BOTON "GRACIAS" NO CUESTA NADA
|
Los siguientes 4 usuarios han agradecido a pavijomar su comentario: | ||
#19
|
||||
|
||||
Chincheta yaaaaaaaaaa
__________________
PULSAR EL BOTON "GRACIAS" NO CUESTA NADA
|
Gracias de parte de: | ||
|
#20
|
||||
|
||||
Jaja culo veo culo quiero :p pueden estar contentos los usuarios de este terminal con esta gente creando estos post y comentando ¡ el que no aprenda será xk no quiera hay mucho grande por aquí
__________________
|
Los siguientes 4 usuarios han agradecido a rub3nn6 su comentario: | ||
Estás aquí | ||||||
|