[Q] How do I change my app's theme via ToggleSwitch? - Java for Android App Development

I'm trying to make an app that changes the theme with a ToggleSwitch. My activity in xml is main.xml, and the java is MainActivity.java. The code for the switch is
Code:
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/switch1"
android:textOff="Light Theme"
android:textOn="Dark Theme" />
.

Related

editing lockscreen xml file

i decompiled framework-res.apk, removed this line:
Code:
<com.android.internal.widget.DigitalClock android:id="@id/time" android:paddingBottom="8.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20.0dip" android:layout_marginTop="15.0dip" android:layout_alignParentLeft="true" android:layout_alignParentTop="true">
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="56.0sp" android:ellipsize="none" android:id="@id/timeDisplay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="6.0dip" android:singleLine="true" android:shadowColor="#c0000000" android:shadowDx="0.0" android:shadowDy="0.0" android:shadowRadius="3.0" />
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="18.0sp" android:ellipsize="none" android:id="@id/am_pm" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:singleLine="true" android:shadowColor="#c0000000" android:shadowDx="0.0" android:shadowDy="0.0" android:shadowRadius="3.0" android:layout_toRightOf="@id/timeDisplay" android:layout_alignBaseline="@id/timeDisplay" />
</com.android.internal.widget.DigitalClock>
from keyguard_screen_unlock_portrait.xml in an attempt to remove the clock from the lockscreen.
i recompiled, signed, pushed back to system/framework. rebooted and everything worked just fine. except the clock is still there...
any ideas on how to remove that thing?
side note, i am trying to make the lockscreen transparent instead of showing the background image. in that same xml i located the place where i should have been able to make this change. the hex code was "70000000". first two characters being the alpha code i thought changing it to "00" would make it transparent. instead, it made it black.. would "ff" make it transparent?
You edit the wrong file.
This is the one you need:
"keyguard_screen_tab_unlock.xml"
thanks. ill try later.

[Q] anyone know how to move clock in the statusbar to center?

i want to move clock in the statusbar to center. but i don't know how to do it. i am very thankful if you can tell me the steps.
i'm using stock dxlf
First if you haven't already deodex your rom
then use apktool to decompile SystemUI.apk
goto res/layout/status_bar.xml and open in notpad++
find the line for the clock
change its gravity to center so it looks like the code below
Code:
<LinearLayout android:textColor="#ff09a9ec" android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.Clock android:textAppearance="@*android:style/TextAppearance.StatusBar.Icon" android:textSize="26.5dip" android:textStyle="bold" android:gravity="center" android:layout_width="fill_parent" android:layout_height="fill_parent" android:singleLine="false" android:layout_weight="1.0" />
</LinearLayout>
recompile
put in a flashable zip and flash in cwm with system mounted

[Q] not reaching onCreateOptionsMenu

I am trying to create an action bar.
I have an application with DrawerLayout that has inside a ViewPager... and I implement a PagerAadapter and a class for the page fragment.
this is the activity_main.xml under layout folder
Code:
<android.support.v4.widget.DrawerLayout
xmlns:android=<REMOVED_LINK>
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!-- This is the main-->
<android.support.v4.view.ViewPager xmlns:android=<REMOVED_LINK>
xmlns:tools=<REMOVED_LINK>
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!--
This title strip will display the currently visible page title, as well as the page
titles for adjacent pages.
-->
<android.support.v4.view.PagerTitleStrip
android:id="@+id/pager_title_strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="#33b5e5"
android:paddingBottom="4dp"
android:paddingTop="4dp"
android:textColor="#fff" />
</android.support.v4.view.ViewPager>
<ListView
android:id="@+id/optionsMenu"
android:background="#000000"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp" />
</android.support.v4.widget.DrawerLayout>
And this is the main.xml found in menu folder
Code:
<menu xmlns:android=<REMOVED_LINK>>
<item android:id="@+id/action_settings"
android:title="@string/action_settings" />
<item android:id="@+id/action_details"
android:title="@string/action_details" />
<item android:id="@+id/action_details2"
android:title="@string/action_details2" />
</menu>
The problem is that It doesn't even reach onCreateOptionsMenu on the MainActivity... I tried everything: - change android:minSdkVersion to 7, 11 and 14 (in the manifest uses-sdk tag) - add attribute to menu items "showAsAction", and remove that attribute too - make my page fragment override onCreateOptionsMenu
i debug it and it never reaches onCreateOptionsMenu, anywhere. and the getActionBar() is of course null.
Do you want it to be the native ActionBar, the ActionBarSherlock one or the ActionBarCompat one?
nikwen said:
Do you want it to be the native ActionBar, the ActionBarSherlock one or the ActionBarCompat one?
Click to expand...
Click to collapse
native ActionBar...
but as soon as I manage to reach onCreateOptionsMenu then I can do everything.
but i'm stuck on this wierd problem... maybe I should make a new project

How To Make Lidroid Toggles Grid View

Help Me..
theres loads of guides for this if you search
look at my xml file and put something like it into your 2nd layout in your status bar
dont just copy it as it wont recopile without the correct drawable vaule pngs
you can get them from my statusbar
http://forum.xda-developers.com/showthread.php?p=46188493#post46188493
marcussmith2626 said:
theres loads of guides for this if you search
look at my xml file and put something like it into your 2nd layout in your status bar
dont just copy it as it wont recopile without the correct drawable vaule pngs
you can get them from my statusbar
http://forum.xda-developers.com/showthread.php?p=46188493#post46188493
Click to expand...
Click to collapse
i already made Two layout..
But in ur statusbR There is only 6 stock toggles .i want for 15toggles
Himan Boro said:
i already made Two layout..
But in ur statusbR There is only 6 stock toggles .i want for 15toggles
Click to expand...
Click to collapse
just add the rest - you have the smali in the quickpanel folder - just do the same but point to that smali and @id
marcussmith2626 said:
just add the rest - you have the smali in the quickpanel folder - just do the same but point to that smali and @id
Click to expand...
Click to collapse
Bro m not able to get it clearly..
If u r free..Plx Post A Guide regarding that
Himan Boro said:
Bro m not able to get it clearly..
If u r free..Plx Post A Guide regarding that
Click to expand...
Click to collapse
iv not done it before and I only post things Iv tested myself
I can give you an idea - the rest you will have to work out yourself
see for example this code for the gps toggle
Code:
<FrameLayout android:background="@drawable/tile_toggle" android:layout_width="83.0px" android:layout_height="80.0px" android:layout_weight="1.0">
[COLOR="Red"]<com.android.systemui.statusbar.quickpanel.GpsSettingButton[/COLOR] android:textSize="0.0dip" android:textStyle="normal" android:textColor="#00ffffff" android:gravity="center" android:id="[COLOR="Red"]@id/quickpanel_gps_btn_text[/COLOR]" android:background="@drawable/quickpanel_button_selector_bg" android:paddingTop="58.0dip" android:paddingBottom="3.0dip" android:focusable="true" android:layout_width="fill_parent" android:layout_height="fill_parent"[COLOR="Red"] android:text="@string/quickpanel_gps_text"[/COLOR] />
<ImageView android:layout_gravity="center_horizontal" [COLOR="Red"]android:id="@id/quickpanel_gps_btn_icon[/COLOR]" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="3.0px" [COLOR="Red"]android:src="@drawable/quickpanel_icon_gps_off[/COLOR]" />
<TextView android:textSize="12.0dip" android:textColor="#ffffffff" android:gravity="center" android:layout_gravity="bottom" android:background="#00000000" android:layout_width="83.0px" android:layout_height="wrap_content" android:layout_marginBottom="12.0px" android:text="" android:singleLine="true" android:layout_alignParentBottom="true" />
</FrameLayout>
see the code that I have marked in red
change the com.android........ part to the smali you will find in com.android.systemui.statusbar.quickpanel to the one you want
eg
Code:
<com.android.systemui.statusbar.quickpanel.NameOfTheSmali
the rest find the values that relates to the toggle in the id.xml and strings.xml and change them
same with the drawable values for the pngs
marcussmith2626 said:
iv not done it before and I only post things Iv tested myself
I can give you an idea - the rest you will have to work out yourself
see for example this code for the gps toggle
Code:
<FrameLayout android:background="@drawable/tile_toggle" android:layout_width="83.0px" android:layout_height="80.0px" android:layout_weight="1.0">
[COLOR="Red"]<com.android.systemui.statusbar.quickpanel.GpsSettingButton[/COLOR] android:textSize="0.0dip" android:textStyle="normal" android:textColor="#00ffffff" android:gravity="center" android:id="[COLOR="Red"]@id/quickpanel_gps_btn_text[/COLOR]" android:background="@drawable/quickpanel_button_selector_bg" android:paddingTop="58.0dip" android:paddingBottom="3.0dip" android:focusable="true" android:layout_width="fill_parent" android:layout_height="fill_parent"[COLOR="Red"] android:text="@string/quickpanel_gps_text"[/COLOR] />
<ImageView android:layout_gravity="center_horizontal" [COLOR="Red"]android:id="@id/quickpanel_gps_btn_icon[/COLOR]" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="3.0px" [COLOR="Red"]android:src="@drawable/quickpanel_icon_gps_off[/COLOR]" />
<TextView android:textSize="12.0dip" android:textColor="#ffffffff" android:gravity="center" android:layout_gravity="bottom" android:background="#00000000" android:layout_width="83.0px" android:layout_height="wrap_content" android:layout_marginBottom="12.0px" android:text="" android:singleLine="true" android:layout_alignParentBottom="true" />
</FrameLayout>
see the code that I have marked in red
change the com.android........ part to the smali you will find in com.android.systemui.statusbar.quickpanel to the one you want
eg
Code:
<com.android.systemui.statusbar.quickpanel.NameOfTheSmali
the rest find the values that relates to the toggle in the id.xml and strings.xml and change them
same with the drawable values for the pngs
Click to expand...
Click to collapse
ok..i will give a try to it....

[TUTORIAL][KK]JB style quick settings for KitKat

Inspired by AndroPlus's True Quick Settings, in this thread, I'll show you how to mod your KitKat SystemUI to get JellyBean style Quick Settings.
Files you need to edit
Code:
res/layout/somc_quick_settings_tab.xml
res/layout/somc_notifications_tab.xml
res/layout/somc_tabs_status_bar_expanded.xml
res/layout/status_bar_notification_tools_button.xml
res/values/dimens.xml
res/values/integers.xml
Requirements:
- ApkTool (I use this)
- Notepad++
- Patience
1. Decompile your SystemUI.apk
2. We must move the quick settings tab to notifications tab. So, go to somc_quick_settings_tab.xml and copy the Linear layout
Code:
<LinearLayout android:orientation="vertical" android:id="@id/tools_rows" android:layout_width="fill_parent" android:layout_height="wrap_content" />
3. Next edit the somc_notifications_tab.xml and add the above code and now it looks something like this
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:id="@id/notifications_tab" android:layout_width="fill_parent" android:layout_height="wrap_content" android:animateLayoutChanges="false"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
[COLOR="Red"]<LinearLayout android:orientation="vertical" android:id="@id/tools_rows" android:layout_width="fill_parent" android:layout_height="wrap_content" />[/COLOR]
4. To add the divider line which divides the quick settings and the time, copy this and paste it in somc_notifications_tab.xml below the Linear layout we copied earlier
Code:
<View android:background="@drawable/status_bar_hr" android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_divider_height" />
It looks like this
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:id="@id/notifications_tab" android:layout_width="fill_parent" android:layout_height="wrap_content" android:animateLayoutChanges="false"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<LinearLayout android:orientation="vertical" android:id="@id/tools_rows" android:layout_width="fill_parent" android:layout_height="wrap_content" />
[COLOR="Red"]<View android:background="@drawable/status_bar_hr" android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_divider_height" />[/COLOR]
5. Now to move the clock below the quick settings, go to somc_tabs_status_bar_expanded.xml and cut this line
Code:
<include layout="@layout/status_bar_expanded_header" />
Paste it to somc_notifications_tab.xml below the divider line code. Like this
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:id="@id/notifications_tab" android:layout_width="fill_parent" android:layout_height="wrap_content" android:animateLayoutChanges="false"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<LinearLayout android:orientation="vertical" android:id="@id/tools_rows" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<View android:background="@drawable/status_bar_hr" android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_divider_height" />
[COLOR="Red"]<include layout="@layout/status_bar_expanded_header" />[/COLOR]
<include layout="@layout/status_bar_expanded_stylus_actions" />
<ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="wrap_content" android:overScrollMode="ifContentScrolls">
<com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/notification_row_min_height" />
</ScrollView>
</LinearLayout>
6. Make another copy of somc_notifications_tab.xml and rename it to somc_quick_settings_tab.xml and replace it with the original somc_quick_settings_tab.xml. So that both these files are the same.
7. To remove the top tabs [Notifications Quick settings], edit somc_tabs_status_bar_expanded.xml. Change this
Code:
<com.sonymobile.systemui.statusbar.tools.ToolsTabWidget android:orientation="horizontal" android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" />
to
Code:
<com.sonymobile.systemui.statusbar.tools.ToolsTabWidget android:orientation="horizontal" android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="[COLOR="Red"]0.0dip[/COLOR]" />
Also delete this line from somc_tabs_status_bar_expanded.xml
Code:
<include layout="@layout/somc_quick_settings_tab" />
8. To remove top space above quick settings icons, change these lines in status_bar_notification_tools_button.xml.
From
Code:
<FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
to
Code:
<FrameLayout [COLOR="Red"]android:layout_marginTop="@dimen/qs_tile_margin_above_icon"[/COLOR] android:layout_width="wrap_content" android:layout_height="wrap_content">
For single line text, change this
Code:
<TextView android:textSize="@dimen/status_bar_tools_button_label_text_size" android:gravity="top|center" android:id="@id/tools_button_text" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="@dimen/status_bar_tools_button_margin_bottom" android:lines="2" android:scrollHorizontally="false" android:includeFontPadding="false" />
to
Code:
<TextView [COLOR="Red"]android:layout_marginBottom="@dimen/qs_tile_margin_below_icon"[/COLOR] android:textSize="@dimen/status_bar_tools_button_label_text_size" android:gravity="top|center" android:id="@id/tools_button_text" android:layout_width="fill_parent" android:layout_height="fill_parent" android:lines="[COLOR="Red"]1[/COLOR]" android:scrollHorizontally="false" android:includeFontPadding="[COLOR="Red"]true[/COLOR]" [COLOR="Red"]android:singleLine="true"[/COLOR]/>
9. Edit dimens.xml.
From
Code:
<dimen name="notification_panel_tools_row_height">100.0dip</dimen>
<dimen name="status_bar_tools_button_label_text_size">12.0dip</dimen>
<dimen name="qs_tile_margin_above_icon">27.0dip</dimen>
<dimen name="qs_tile_margin_below_icon">17.0dip</dimen>
to
Code:
<dimen name="notification_panel_tools_row_height">[COLOR="Red"]57.0dip[/COLOR]</dimen>
<dimen name="status_bar_tools_button_label_text_size">[COLOR="Red"]10.0dip[/COLOR]</dimen>
<dimen name="qs_tile_margin_above_icon">[COLOR="Red"]-22.0dip[/COLOR]</dimen>
<dimen name="qs_tile_margin_below_icon">[COLOR="Red"]-12.0dip[/COLOR]</dimen>
10. Edit integers.xml
From
Code:
<integer name="config_maxToolItemsInARow">4</integer>
<integer name="config_maxToolItemsInGrid">16</integer>
to
Code:
<integer name="config_maxToolItemsInARow">[COLOR="Red"]5[/COLOR]</integer>
<integer name="config_maxToolItemsInGrid">[COLOR="Red"]15[/COLOR]</integer>
11. Recompile and Enjoy
About the top space above quick settings icons, niaboc79 said it was his code, hence I had removed that. Also it had some bugs (for me at least) that I could not edit the SystemUI again. Even if I did, it would force close. And I have changed it so that when you decompile SystemUI again, mod it, and recompile, it can be used without any force close.
So what's the difference between niaboc79's JB style SystemUI and my tutorial?
-With my tutorial, you can use "Clear" button if you swipe the statusbar with one finger, and you can use "Edit" button for editing quick settings if you swipe the statusbar with two fingers. And he uses other file (com.android.settings-res.apk) to achieve this JB style SystemUI.
And why this comparison?
-Because he asked me to close the thread saying I used his methods. So I deleted his method and changed it with my own.
This mod has been tested on Xperia Z and Xperia ZL KitKat firmwares. Should work on other Sony KitKat devices (I doubt if it works on Z3 and new Z2 firmware). Test and report.
Always take a backup of original files so that you can replace it when something goes wrong
Credits:
AndroPlus
anagramgenius(myself )
XDA Portal
http://www.xda-developers.com/bring-back-jelly-bean-quick-toggles-to-your-kitkat-xperia-rom/
Thanks my friend.. Great work..
Cool Bro! But you know how to move the clock above the toggles?
Naufal Sidik said:
Cool Bro! But you know how to move the clock above the toggles?
Click to expand...
Click to collapse
In step 5, copy the code and place it above the linear layout of somc notification tab and somc quicksettings tab.
Good tutorial! Thanks!
Trimis de pe al meu D2303 folosind Tapatalk
i have a few questions:
1. does it work for Z1c?
2. can anybody tell me how to center clock in statusbar?
thx
m.
moonryder said:
i have a few questions:
1. does it work for Z1c?
2. can anybody tell me how to center clock in statusbar?
thx
m.
Click to expand...
Click to collapse
Haven't tested. It might work.
moonryder said:
i have a few questions:
1. does it work for Z1c?
2. can anybody tell me how to center clock in statusbar?
thx
m.
Click to expand...
Click to collapse
It will work all Kitkat 4.4+ Sony Devices without any problems..
Thanks for this! How did you get that really awesome-looking blur on the notification panel?
epic118 said:
Thanks for this! How did you get that really awesome-looking blur on the notification panel?
Click to expand...
Click to collapse
Its an xposed module. Blurred SystemUI by serajr.
Congrats for the XDA Portal
http://www.xda-developers.com/android/bring-back-jelly-bean-quick-toggles-to-your-kitkat-xperia-rom/
Rajeev said:
Congrats for the XDA Portal
http://www.xda-developers.com/android/bring-back-jelly-bean-quick-toggles-to-your-kitkat-xperia-rom/
Click to expand...
Click to collapse
Thanks:victory:
thanks so much sir.....!!! :good: :good: :good: working on t2 ultra 4.4.3
hazikh said:
thanks so much sir.....!!! :good: :good: :good: working on t2 ultra 4.4.3
Click to expand...
Click to collapse
Thanks for confirmation:good:
May I ask how you have the "USB Storage Connected - Tap here to safely remove " prompt , I would like to have it on my Sony Xperia M Dual to quickly unmount the usb device I connect.
sorry to ask, how to replace colors on a divider according to the theme ?
solonxpl said:
May I ask how you have the "USB Storage Connected - Tap here to safely remove " prompt , I would like to have it on my Sony Xperia M Dual to quickly unmount the usb device I connect.
Click to expand...
Click to collapse
If USB OTG function is present in your device, it appears. It was present in my device. I didn't mod anything to get that.
hazikh said:
sorry to ask, how to replace colors on a divider according to the theme ?
Click to expand...
Click to collapse
Dunno about that. Will find and tell you.
Hey i have edited the SystemUi.apk bt now i am not getting how to install that apk...when i install the apk it is not installed....
I had replaced the SystemUi.apk with edited one by es file explorer bt it didnt worked my status bar and navigation bar was gone after that....i had to flash my phone again to get in better position...help me!!

Categories

Resources