Android studio preview pane not rendering ActionBar? - android

I'm running the latest version of android studio ,Problem is the preview pane does not render the ActionBar when any of the AppCompat themes are used, if i change the theme of the preview pane it works fine(Not change actual theme) ,but is there any discepency in doing this,
my styles.xml is as follows
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
</resources>
when the preview pane is set to AppTheme ,the ActionBar ain't shown ,however it works fine in my device and AVD,
As you can see this makes it hard to debug and test the ActionBar
Please suggest some fix to this and how exactly does a AppCompat theme differ from an ordinary one?,I'm just an android beginner .
Thanks!

It is a bug: https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=78944
Unfortunately it is low priority.
Update: set the preview to API 22

In my styles.xml I had
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
had to change it to just
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

There is culprit in your MainActivity(which ever your activity) when your are using app.compact.v7 your are supposed to extend ActionBarActivity instead Activity

Related

Why is my layout not showing in Android Studio?

As you can see, I have a text view and a button but none of it is showing on the device. The device is empty, so I'm wondering how can I get these things to show? Nothing so far has been working, I already tried clicking on the magic wand.
This is one of the problems, I Encountered while working in android.
You have to edit your res/values/styles.xml file
<!-- Base application theme. -->
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
Steps are as following:
Go to res/values/
open styles.xml
change from -> style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"
change to -> style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar"
(Just prepend "Base." to "Theme".)
Save the file and check Preview now.
Preview will Work Perfeclty now.

App Crash at Launch (Material Theme issue)

I'm actually creating an app an I would like to use Material Theme Light.
So I put the line android:theme = "#android:style/Theme.Material.light"
on the manifest and no errors are displayed.
However when launching the app on my phone it crashes at launch although no errors are displayed in my xml/java sources.
I'm sure this line is the cause, because when I change the manifest to #style/AppTheme, it works and lauches.
It's driving me crazy, I need your help please.
It depends on your activity, What does your activity extend from? If it extends from AppCompatActivity you can't set material theme.
you should set AppTheme as your theme android:theme="#style/AppTheme"
and in style file, set AppCompat Theme as your parent:
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="colorPrimary">#color/colorPrimary</item>
<item name="colorPrimaryDark">#color/colorPrimaryDark</item>
<item name="colorAccent">#color/colorAccent</item>
</style>
Try this it will work click on values in resources than open styles.xml file and change this
with following
i was getting the same issue and it is due to the update in the material lib

Setting Up the Action Bar tutorial in Android Atudio

Theme.Holo is used in the tutorial http://developer.android.com/training/basics/actionbar/setting-up.html
I'm using Android Studio, and the Theme.AppCompat.Light.DarkActionBar is the default style used in the styles.xml
The emulator gives an error Unfortunately, Action Bar has stopped if I comment out AppCompat theme in styles.xml and add style name="AppTheme" parent="#android:style/Theme.Holo.Light.DarkActionBar
How can Android Studio be setup so that Holo is the default theme, or how can the theme be changed to match the tutorial?
Change the default code in styles.xml to:
<style name="AppTheme" parent="android:Theme.Holo.Light">
That does it right? Let me know.

App crashes on changing theme under styles

My Android App :
Target API:22
Min API:15
Device run on :API level 22
I don't understand this whole theme concept ,
In my manifest.xml ,I have set android:theme="#style/AppTheme"
and all activities use this theme
Now my understanding is that they all use the theme called AppTheme which I can now define by extending other themes inside my styles.xml
In my styles.xml
I have this
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
</resources>
My understanding is that AppCompat themes allow us to use newer(say material themes) on older devices also .
I run this app on API Level 22 and API Level 15 , it works fine
Now when i change it to
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Material">
<!-- Customize your theme here. -->
</style>
</resources>
It gives a warning saying this theme can be used only on API 21 or above which is correct , now when I ignore the warning and run it in on API 22 it crashes.
Why?
Also I tried to make AppTheme's parent as Holo , Light etc ,all of them crash the App , why , please explain?
All of these end up crashing the App
<style name="AppTheme" parent="android:Theme.Translucent">
<style name="AppTheme" parent="android:Theme.Holo">
Why do these not work , Holo was introduced in 15 right?
I am using 22 ,
and can you please elaborate the difference between
Theme....., BaseTheme....,Android..... themeName
And i am running android studio 1.3 and using the latest versions(Stable) of the SDK,SDK build and SDK-Platform tools.
Thank you !
Sorry , I found the issue , My activity was extending AppCompatActivity instead of the general activity ,I get it now
When ever working with custom styles you have to take care of the parent you are providing. Try to change the parent theme and it might solve your problem.

can I implement Holo theme and keep the old theme to support older devices?

I'm trying to implement the holo theme for my app, so far so good...
but the app didn't work on older devices pre 3.0
so I made a custom theme, in values dir and values-v11 dir to make android switch to the correct one on runtime...
I also set the target sdk level to 7 to support android 2.1
now the holo theme isn't recognized
Am I aiming for something impossible?
What I want is pre 3.0 devices to use the default android theme
and everything that supports holo to use holo theme.
In values/styles.xml:
<style name="AppTheme" parent="#android:style/Theme.Light">
values-v11/styles.xml:
<style name="AppTheme" parent="#android:style/Theme.Holo.Light" />
values-v14/styles.xml:
<style name="AppTheme" parent="#android:style/Theme.DeviceDefault.Light" />

Categories

Resources