Creating a Simple, Accessible On/Off SwitchRuss Weakley
Have you ever tried to style checkboxes or radio buttons and ended up pulling your hair out? This presentation will explore a few simple tricks that can be used to style checkboxes and radio buttons. In this case, we will make them look like an on/off switch.
A comprehensive guide on developing responsive and common react filter componentKaty Slemon
A blog that will help you develop a responsive and common React Filter Component for both desktop and mobile views to maintain consistency across the UI.
Non Conventional Android Programming (English)Davide Cerbo
Learn as you can developing software for mobile devices using only html, css and javascript and how you can use Spring Framework in software for mobile devices
Advance Android application development workshop day 1cresco
10 Days Android Workshop at L J Institute of engineering and technology delivered by Cresco Solution visit: http://www.crescosolution.com/android-workshop-at-l-j-institute-of-engineering-and-technology-ahmedabad/
A 1 day NTU workshop for kickstarting Android development. Includes using the newest & better IDE - Android Studio - and a thorough process from developing you idea > mockup > coding > polishing > distributing.
Advance Android application development workshop day 3cresco
10 Days Android Workshop at L J Institute of engineering and technology delivered by Cresco Solution visit: http://www.crescosolution.com/android-workshop-at-l-j-institute-of-engineering-and-technology-ahmedabad/
Web development fundamentals for complete newbies. introduction to http protocol, web servers, what is html, js and css, as well as a short demo on creating a basic web application
Creating a Simple, Accessible On/Off SwitchRuss Weakley
Have you ever tried to style checkboxes or radio buttons and ended up pulling your hair out? This presentation will explore a few simple tricks that can be used to style checkboxes and radio buttons. In this case, we will make them look like an on/off switch.
A comprehensive guide on developing responsive and common react filter componentKaty Slemon
A blog that will help you develop a responsive and common React Filter Component for both desktop and mobile views to maintain consistency across the UI.
Non Conventional Android Programming (English)Davide Cerbo
Learn as you can developing software for mobile devices using only html, css and javascript and how you can use Spring Framework in software for mobile devices
Advance Android application development workshop day 1cresco
10 Days Android Workshop at L J Institute of engineering and technology delivered by Cresco Solution visit: http://www.crescosolution.com/android-workshop-at-l-j-institute-of-engineering-and-technology-ahmedabad/
A 1 day NTU workshop for kickstarting Android development. Includes using the newest & better IDE - Android Studio - and a thorough process from developing you idea > mockup > coding > polishing > distributing.
Advance Android application development workshop day 3cresco
10 Days Android Workshop at L J Institute of engineering and technology delivered by Cresco Solution visit: http://www.crescosolution.com/android-workshop-at-l-j-institute-of-engineering-and-technology-ahmedabad/
Web development fundamentals for complete newbies. introduction to http protocol, web servers, what is html, js and css, as well as a short demo on creating a basic web application
Android Protips: Advanced Topics for Expert Android App DevelopersReto Meier
Writing an app is easy, but with 100k competitors you need to do better than launch and cross your fingers. I'll demonstrate how to use advanced Android techniques to take a good app and transform it into a polished product. Features advanced coding tips & tricks, design and implementation patterns, and insight into some of the lesser known API features. This is an advanced session designed to help experienced developers.
This is the simple guide which helps even the beginners to develop an android app which gets the attention of the market. Build your basic app in few steps
9 Step Guide to Create Ripple View Effect in AndroidNine Hertz
After the release of Android Lollipop, developers are highly excited to create Ripple View Effect in Android apps. Ripple View Effect really gives an amazing look to the Android applications. Hence Nine Hertz has created a 9 step guide on how to create Ripple View Effect. Original Source: http://goo.gl/SRAH6f
Android - How To Create Push Notifications With Custom View?
Today, most Android applications are integrated with the option to send push notifications. Developers and app publishers consider this capability as one of the most important actions in maintaining the relationship with their users and the ability to motivate them into performing certain actions within the app. However, in most applications the display of push notification message is quite basic - a miniature version of the app icon, a title (most of the time it will be the app name), with a short description below it.
Push notification message can be much more interesting! One of the better examples for it, is the way in which Groupon send their push messages - big and seductive picture, with important details such as price and the amount of discount. They also display action buttons!
In this tutorial we will learn how to create a rich push notification message.
Integrating Push Notifications in your app
If your app doesn’t yet support in basic push notification, please refer to PushApps short tutorial:
https://wiki.pushapps.mobi/display/PUSHAPPS/Android+Getting+Started
This tutorial assumes you have completed the basic push notifications integration, and you are able to receive notifications to your device. We will take you step by step from this phase and show you how to code and design the notification.
Push Notification received event
After you register the device to PushApps with your private keys, we would like to “take control” over the push notification received event. We would like to perform certain actions and display our custom view. With PushApps it’s easy:
1. In you Application class (if you don’t have one, please create it) register to PushApps with your Google API Project Number and PushApps Token.
@Override
public void onCreate() {
super.onCreate();
// first we initialize the push manager, you can also initialize the
// PushManager in your main activity.
PushManager.init(getBaseContext(), GOOGLE_API_PROJECT_NUMBER, PUSHAPPS_APP_TOKEN);
PushManager.getInstance(getApplicationContext())
.setShouldStartIntentAsNewTask(false);
// these methods are both optional and used for the notification
// customization
PushManager.getInstance(getApplicationContext()).setShouldStackNotifications(true);
}
2. We want PushApps to notify us when a new push notification received to the device. For that, we need to implement the PushAppsMessageInterface.
@Override
public void onCreate() {
super.onCreate();
// first we initialize the push manager, you can also initialize the
// PushManager in your main activity.
PushManager.init(getBaseContext(), GOOGLE_API_PROJECT_NUMBER, PUSHAPPS_APP_TOKEN);
PushManager.getInstance(getApplicationContext()).setShouldStartIntentAsNewTask(false);
// these methods are both optional and us
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
2. Who? What? Why?
Hi, I’m Matt Gaunt (@gauntface) I’ve been developing on Android, on and off, for the past 2
years (starting from the 0.9 SDK).
The reason I’ve put this document together is to help others with things I struggled with when
I first started out, to help others learn new things with Android UI and to inform people about
some of the new Android design patterns.
This presentation will be suitable for learning, for reference and also great for people just
wondering what Android UI is all about.
If you spot something wrong or disagree, then let me know :)
E-mail Address: matt@gauntface.co.uk
3. What Google Want - Dashboard
Lets start off with what Google want
developers to do.
The Dashboard
This is a nice simple, clean and frankly
easy to follow design pattern.
Have a panel with 4 - 6 of your app’s main
functions.
Example Apps: Twitter, Facebook, Google
Places
Note: You don’t have to open your app on
this screen
4. What Google Want - Action Bar
The Action Bar
One thing many dev’s do, is needlessy fill the
screen, removing the notification bar from the
UI.
The only reason I can think of why someone
might do this, is to get rid of the, not so
pretty, title bar.
Instead Google are recommending the Action
Bar. The logo on the right should link to the
dashboard and the left side should have
buttons relevant to that activity - Perfect :)
Examples - Facebook, Twitter and many more
5. What Google Want - Quick Action
The Quick Action
This one I have some reservations about.
It’s a very kool and fun way to give extra functionality in an
intuitive way, especially for specific elements on screen (i.e. a list
item or for displaying extra info).
The issue I have is that Twitter has since dropped this, the only
other app I know of which uses this is the official Android
Contacts App.
To implement you’re own you’ll most likely want to use an open
source library.
Fun, useful and a great idea, but not readily available.
6. So now what?
Well now I’m going to go through *roughly* the development of this UI.
It’s something I’ve been working on recently and this presentation represents the rough process I
went through, from start to finish.
7. Before We Start
Every View should have at least the following states:
Normal
Focused
Pressed
Disabled
For those wondering “What is the focused state?” this is when a user uses the trackball to select a
view on the screen. Better to add it in from the start, it’s extra functionality, with little (if any) extra
work.
Making each of these states can be a little tedious, but if you make them all when you first make
each View, it isn’t too bad :P
Boring bit said and done, lets get on with it.
8. Once there was a Button...
Focused & Pressed
The most simple and most widely used View is the Button.
dark_std_button_pressed_bg
So how do we make one? Using the following XML with the
following images.
Pressed
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true" dark_std_button_pressed_bg
These actually
android:drawable="@drawable/dark_std_button_pressed_bg" /> look different on a
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/dark_std_button_pressed_bg" />
Focused device
<item android:state_focused="true"
android:drawable="@drawable/dark_std_button_focused_bg" /> dark_std_button_focused_bg
<item android:drawable="@drawable/dark_std_button_bg" />
</selector> Std.
dark_std_button_bg
9. ...Who met an EditText...
Most apps will need to use an EditText at some point, the Focused & Pressed
reason I wanted to customise mine is to avoid Manufacturer’s
custom colour schemes (Orange, Green, Purple and then the std_edit_text_focused_pressed_bg
various ROM’s). Pressed
<selector xmlns:android="http://schemas.android.com/apk/res/android">
std_edit_text_pressed_bg
<item android:state_focused="true" android:state_pressed="true"
android:drawable="@drawable/std_edit_text_focused_pressed_bg" /> Focused
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/std_edit_text_pressed_bg" />
<item android:state_focused="true" std_edit_text_focused_bg
android:drawable="@drawable/std_edit_text_focused_bg" />
<item android:drawable="@drawable/std_edit_text_bg" />
Std.
</selector>
std_edit_text_bg
10. ...Who visited the CheckBox...
CheckBox is a little bit of extra work, having checked and non-checked
<selector xmlns:android="http://schemas.android.com/apk/res/android"> Focused & Pressed
<item android:state_checked="true" android:state_focused="true"
android:state_pressed="true"
android:drawable="@drawable/ std_checkbox_unchecked std_checkbox_checked
std_checkbox_checked_focused_pressed" />
_focused_pressed _focused_pressed
Pressed
<item android:state_checked="false" android:state_focused="true"
android:state_pressed="true"
android:drawable="@drawable/
std_checkbox_unchecked_focused_pressed" />
<item android:state_checked="true" android:state_focused="true" std_checkbox_unchecked std_checkbox_checked
android:drawable="@drawable/std_checkbox_checked_focused" /> _pressed _pressed
<item android:state_checked="false" android:state_focused="true"
android:drawable="@drawable/std_checkbox_unchecked_focused" /> Focused
<item android:state_checked="true" android:state_pressed="true"
android:drawable="@drawable/std_checkbox_checked_pressed" />
<item android:state_checked="false" android:state_pressed="true" std_checkbox_unchecked std_checkbox_checked
android:drawable="@drawable/std_checkbox_unchecked_pressed" /> _focused _focused
<item android:state_checked="true"
android:drawable="@drawable/std_checkbox_checked" /> Std.
<item android:state_checked="false"
android:drawable="@drawable/std_checkbox_unchecked" />
</selector> std_checkbox_unchecked std_checkbox_checked
11. ...But the CheckBox was Fussy...
There is one thing you may struggle with when customising your CheckBox.
The View has a Background & a Button property, the difference?
The Background defines where content can go (i.e. the text you can set as the CheckBox label)
For my app I have the following:
Button Background label here
=
12. Where do I put all this stuff?
With a new Android project you’ll get a standard file structure. This is what each folder means :)
All your images (i.e. for buttons, checkbox etc.) should have a copy of each
+src graphic in drawable-hdpi, -mdpi, -ldpi. (Each copy is for different screen
- All your awesome source code resolutions (1.5, 1, 0.75 x the graphic size for hdpi, mdpi, ldpi).
+res The point of this is the displayed image should be roughly the same physical size.
- anim [Animation XML files]
- drawable Then any xml (the stuff on the previos slides) should be placed in the drawable
-Put all your XML drawables here (Button, Checkbox etc.) folder.
- drawable-hdpi
- 1.5 * MDPI graphic size (PNG, JPG, Nine-Patch PNG) In the XML you’ll notice references to @drawable/some_img_name this tells
-drawable-mdpi the Android platform to find a drawable with the name some_img_name in one
- 1 * MDPI graphic size (PNG, JPG, Nine-Patch PNG) of the drawable folders. Which folder is determined by the system, based on the
-drawable-ldpi screen resolution of the device.
- 0.75 * MDPI graphic size (PNG, JPG, Nine-Patch PNG)
-layout Roman Nurik has said that all XML should go into the drawable folder, I’m sure I
-layout-land have seen gradients appear scaled / manipulated if I put it inside the drawable
-values folder rather than individually in each folder. So do as Roman says, he’s far wiser
-values-land than I, but bare in mind it could be the cause of some issues.
+assets
+bin I Can Haz Screen Sizes? *For most devices
+gen HDPI - 480 x 800
AndroidManifest.xml MDPI - 320 x 480
LDPI - 240 x 320
13. Wow - Can I Code Now?
One last bit of XML based fun, but this step will save you a lot of time and frustration.
At the moment to apply your background to a Button, you have to set the background of the
button in the layout file, you then have to do that for EACH of your buttons. Wouldn’t it be cool if
you could tell Android to use the same background for all your buttons, but only do it once?
In comes Themes and Styles.
We’ll start with Styles and then move on to themes.
14. Ok, No Code - Styles huh...
Lets carry on with our Button, we want a style we can apply to our button.
So what exactly is a style?
<style name="admobBtnStyle" parent="android:style/Widget.Button">
<item name="android:background">@drawable/std_btn_stateful</item>
<item name="android:textColor">@color/btn_text</item>
<item name="android:paddingLeft">@dimen/btn_padding_left_right</item>
<item name="android:paddingRight">@dimen/btn_padding_left_right</item>
<item name="android:paddingTop">@dimen/btn_padding_top_bottom</item>
<item name="android:paddingBottom">@dimen/btn_padding_top_bottom</item>
<item name="android:textSize">@dimen/btn_text_size</item>
<item name="android:minHeight">@dimen/btn_min_height</item>
<item name="android:minWidth">@dimen/btn_min_width</item>
</style>
Imagine what you might want to set on a button, the background, textColor, textSize, padding . . .
you get the picture. Do it in a style, then in a layout you can apply the “style” to a button, rather
than each field individually. This means, one change here applies to all your buttons using this style
AND the layout is free to override these values.
I know what you’re thinking - you still need to apply the style to ALL your buttons . . well . . .
15. Themes FTW
... if you apply the style to a Button widget in a Theme, the system automatically applies the style
to all your Buttons - Simples.
<style name="AdmobTheme" parent="android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">@color/activity_bg</item>
<item name="android:editTextStyle">@style/admobEditText</item>
<item name="android:buttonStyle">@style/admobBtnStyle</item>
<item name="android:checkboxStyle">@style/admobCheckboxStyle</item>
</style>
So why have I made you do all this?
In the long run you’ll thank me, there is nothing more soul destroying than going through all your
code, altering Buttons to have padding of 2 pixels to the left and right.
For reference, the Styles for the CheckBox & EditText are on the next two slides (Useful for
parent styles, the rest you can work out).
18. Last Style Trick - Then Pictures
The last little thing I want to make you aware of.
Say you have two buttons, one is light, one is dark, you want them to share the same parameters apart from
the background drawable. Well you can achieve this by having one style being the parent, and the other
extending the parent.
The standard method of doing this is to create a style with same name plus an extension and setting the
parent attrib:
<style name="admobBtnStyle" parent="android:style/Widget.Button">
<item name="android:background">@drawable/std_btn_stateful</item>
<item name="android:textColor">@color/btn_text</item>
<item name="android:paddingLeft">@dimen/btn_padding_left_right</item>
<item name="android:paddingRight">@dimen/btn_padding_left_right</item>
<item name="android:paddingTop">@dimen/btn_padding_top_bottom</item>
<item name="android:paddingBottom">@dimen/btn_padding_top_bottom</item>
<item name="android:textSize">@dimen/btn_text_size</item>
<item name="android:minHeight">@dimen/btn_min_height</item>
<item name="android:minWidth">@dimen/btn_min_width</item>
</style>
<style name="admobBtnStyle.Dark" parent="style/admobBtnStyle">
<item name="android:background">@drawable/dark_std_btn_stateful</item>
</style>
19. The Action Bar - Code Code Code
The logo shoud take the user to the dashboard - when this
happens you’ll want the other Activities in your app to finish
so be sure to start your Activity with the
FLAG_ACTIVITY_CLEAR_TOP flag (See intent.setFlag())
Modal Dialogs - Pah - Utter Rubbish.
Instead, hit my refresh button and it changes to a Progress Bar.
Custom Views aren’t too bad, give them a shot if nothing does
what you want. [But use Adapters where you can]
20. ListViews - Mix it Up a Little
ListView 101
1. Personally, I’m not a fan of ListActivity
2. Personally, I’m not a fan of helper Adapters
3. Use convertView in the getView() method or a kitten will
die for every view you fail to recycle
Hints:
cacheColorHint
Set this to an invisible color to stop the fading edges from turning black - #00000000
dividerDrawable
You can change the dividers so they are colored or just a bit different
background
The drawable set to the background will react to different states (pressed, focused, focused pressed)
listSelector
Ever wanted to stop the orange highlighting? listSelector = #00000000
21. Landscape is Easy in Android
One thing many developers turn off is landscape rotation. I understand that it’s a little tricky when
you’re Activity dies and starts again, but handle it and you can get some cool effects.
Check out Mark Murphy’s posts on the matter:
www.androidguys.com/2008/10/14/rotational-forceson-your-android-app/
22. Dialogs - Oh God the Dialog
You’re not using modal Dialog’s, good, but you do still kinda want to use them, but they kinda
don’t really suite your app.
For me this is a step in the right direction (but not complete), the background image is just a
shape (shape is a drawable defined in XML). This is then used in a Theme which is applied in the
AndroidManifest.xml to a reusable Activity.
Background
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="@dimen/dialog_rounded_corners" />
<solid android:color="@color/dialog_container_bg_color" />
<stroke android:width="@dimen/dialog_stroke_width"
android:color="@color/dialog_stroke_color" />
</shape>
Theme
<style name="AdmobDialogTheme" parent="android:style/Theme.Dialog">
<item name="android:windowBackground">@drawable/generic_dialog_bg</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:textViewStyle">@style/admobTextView</item>
<item name="android:windowNoTitle">true</item>
<item name="android:buttonStyle">@style/admobBtnStyle</item>
</style>
23. Last Tid Bit - Cos. . .
...it took me ages to find this out!
How to switch the ProgressBar between dark and light (depending on your parent theme).
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"></ProgressBar>
<ProgressBar
android:layout_width="@dimen/action_bar_btn_size"
android:layout_height="@dimen/action_bar_btn_size"
style="?android:attr/progressBarStyleInverse"></ProgressBar>