<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ChilisApps &#187; Ben</title>
	<atom:link href="https://www.chilisapps.com/blog/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.chilisapps.com</link>
	<description>Awesome Apps</description>
	<lastBuildDate>Wed, 12 Jul 2017 06:35:54 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.9.40</generator>
	<item>
		<title>CSS text-overflow issues on Android</title>
		<link>https://www.chilisapps.com/blog/2013/04/18/css-text-overflow-issues-on-android/</link>
		<comments>https://www.chilisapps.com/blog/2013/04/18/css-text-overflow-issues-on-android/#comments</comments>
		<pubDate>Fri, 19 Apr 2013 04:50:32 +0000</pubDate>
		<dc:creator><![CDATA[Ben]]></dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://www.chilisapps.com/?p=551</guid>
		<description><![CDATA[A quick post that may save you tons of time if your working on a website or HTML5 app that supports Android devices. The Android browser and its webview control have an annoying little bug with the text-overflow property. Lets look at an example: Everything should work great right?! Well not exactly, we all know<p><a href="https://www.chilisapps.com/blog/2013/04/18/css-text-overflow-issues-on-android/">Continue Reading &#8594;</a></p>]]></description>
				<content:encoded><![CDATA[<p>A quick post that may save you tons of time if your working on a website or HTML5 app that supports Android devices. The Android browser and its webview control have an annoying little bug with the text-overflow property. Lets look at an example:</p>
<pre class="brush: css; title: ; notranslate">
.ellipsistext {
 text-overflow: ellipsis;
 overflow: hidden;
 white-space: nowrap;
 }
</pre>
<p>Everything should work great right?! Well not exactly, we all know that Android&#8217;s browser, and especially the built in WebView have many quirks. If you happen to have the following CSS rule in your stylesheet:</p>
<pre class="brush: css; title: ; notranslate">
* {
 text-rendering: optimizeLegibility;
 }
</pre>
<p>Android will render the ellipsis AND the text they should be covering up. Really annoying bug, with a really simple fix!</p>
]]></content:encoded>
			<wfw:commentRss>https://www.chilisapps.com/blog/2013/04/18/css-text-overflow-issues-on-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RGBa colors in CSS</title>
		<link>https://www.chilisapps.com/blog/2012/11/25/rgba-colors-in-css/</link>
		<comments>https://www.chilisapps.com/blog/2012/11/25/rgba-colors-in-css/#comments</comments>
		<pubDate>Sun, 25 Nov 2012 05:57:08 +0000</pubDate>
		<dc:creator><![CDATA[Ben]]></dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.chilisapps.com/?p=468</guid>
		<description><![CDATA[Super easy and super useful. We&#8217;re talking about RGBa color values in CSS. They give you the ability to create great designs without having to use images. Instead of specifying color values in hex we can use the RGB value and also specify an alpha channel value. An example of the RGBa syntax is as<p><a href="https://www.chilisapps.com/blog/2012/11/25/rgba-colors-in-css/">Continue Reading &#8594;</a></p>]]></description>
				<content:encoded><![CDATA[<p>Super easy and super useful. We&#8217;re talking about RGBa color values in CSS. They give you the ability to create great designs without having to use images. Instead of specifying color values in hex we can use the RGB value and also specify an alpha channel value.</p>
<p>An example of the RGBa syntax is as follows:</p>
<pre class="brush: css; title: ; notranslate">
.modal_background {
    background: rgba(0, 0, 0, 0.5);
}
</pre>
<p>The first three values are the colors and the last is the alpha value. Its on a scale of 0-1 and accepts decimals such as 0.5 or 0.55.</p>
<p><strong>Browser Support:</strong></p>
<p>Blackberry: BBOS 6+<br />
Android: 2.1 +<br />
iOS: 3.2 +<br />
IE: 9+<br />
Other Desktop: Everything</p>
<p>As you can see almost any current browser with the exception of IE supports RGBa color values. This means we can use them without worrying about compatibility.</p>
<p>Here&#8217;s a little preview of some of the things you can do!</p>
<div>
<div style="border-radius: 10px; position: relative; width: 100px; height: 100px; background-color: rgba(0,0,0,0.75); color: #fff; text-align: center; vertical-align: middle;">Dark</div>
<div style="border-radius: 10px; position: relative; top: -40px; left: 50px; width: 100px; height: 100px; background-color: rgba(0,0,0,0.5); color: #fff; text-align: center; vertical-align: middle;">
<p>Lighter</p>
</div>
<div style="border-radius: 10px; position: relative; top: -80px; left: 100px; width: 100px; height: 100px; background-color: rgba(0,0,0,0.25); color: #fff; text-align: center; vertical-align: middle;">
<p>Even Lighter</p>
<p style="text-align: left;">
</div>
</div>
<p>Heres the code for the examples above:</p>
<pre class="brush: css; title: ; notranslate">
.dark{
    background: rgba(0, 0, 0, 0.75);
}
.lighter{
    background: rgba(0, 0, 0, 0.5);
}
. lighest {
    background: rgba(0, 0, 0, 0.25);
}
</pre>
<p>Add a comment if you have questions!</p>
]]></content:encoded>
			<wfw:commentRss>https://www.chilisapps.com/blog/2012/11/25/rgba-colors-in-css/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Is my Android app running on a Playbook/BB10 device?</title>
		<link>https://www.chilisapps.com/blog/2012/09/04/is-my-android-app-running-on-a-playbookbb10-device/</link>
		<comments>https://www.chilisapps.com/blog/2012/09/04/is-my-android-app-running-on-a-playbookbb10-device/#comments</comments>
		<pubDate>Tue, 04 Sep 2012 05:45:13 +0000</pubDate>
		<dc:creator><![CDATA[Ben]]></dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[BB10]]></category>
		<category><![CDATA[Dev]]></category>

		<guid isPermaLink="false">http://www.chilisapps.com/?p=451</guid>
		<description><![CDATA[Recently we were testing one of our Android apps on a Playbook and the BB10 Dev Alpha. We realized there were a few features we wanted to customize on these devices without forking our code base. Luckily we found a simple solution to check which platform our app is running on. Since the Playbook and<p><a href="https://www.chilisapps.com/blog/2012/09/04/is-my-android-app-running-on-a-playbookbb10-device/">Continue Reading &#8594;</a></p>]]></description>
				<content:encoded><![CDATA[<p>Recently we were testing one of our Android apps on a Playbook and the BB10 Dev Alpha. We realized there were a few features we wanted to customize on these devices without forking our code base. Luckily we found a simple solution to check which platform our app is running on. Since the Playbook and BB10 are both based on the QNX platform, so we can simply reference the os.name property as follows:</p>
<pre class="brush: java; title: ; notranslate">

System.getProperty(&quot;os.name&quot;).equals(&quot;qnx&quot;);

</pre>
<p>There we go, we just need to add a static method to a utility class so we can easily check if our app is running on a QNX device.</p>
<pre class="brush: java; title: ; notranslate">
public class Consts
{
    public static boolean isPlaybook()
    {
        return System.getProperty(&quot;os.name&quot;).equals(&quot;qnx&quot;);
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>https://www.chilisapps.com/blog/2012/09/04/is-my-android-app-running-on-a-playbookbb10-device/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The right way to launch other apps</title>
		<link>https://www.chilisapps.com/blog/2012/08/29/the-right-way-to-launch-other-apps/</link>
		<comments>https://www.chilisapps.com/blog/2012/08/29/the-right-way-to-launch-other-apps/#comments</comments>
		<pubDate>Wed, 29 Aug 2012 14:57:16 +0000</pubDate>
		<dc:creator><![CDATA[Ben]]></dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Dev]]></category>

		<guid isPermaLink="false">http://www.chilisapps.com/?p=418</guid>
		<description><![CDATA[After a a recent experience with some major apps on the Android platform I was inspired to write another post. The issue we&#8217;re going to look at today is launching other activities from your app, and how there are some useful flags we can specify in our intents to give a more polished experience for our users. As an app developer<p><a href="https://www.chilisapps.com/blog/2012/08/29/the-right-way-to-launch-other-apps/">Continue Reading &#8594;</a></p>]]></description>
				<content:encoded><![CDATA[<p>After a a recent experience with some major apps on the Android platform I was inspired to write another post. The issue we&#8217;re going to look at today is launching other activities from your app, and how there are some useful flags we can specify in our intents to give a more polished experience for our users.</p>
<p>As an app developer there are many scenarios where I want to launch other apps on the device. This is almost always accomplished using Androids wonderful intent system, but there are scenarios where you can improve the experience for your users. Lets look at an example of this flow.</p>
<p>I have Facebook installed on my phone and try to access the Instagram application from the sidebar. Since I don&#8217;t have the app installed Facebook opens the Play Store and directs me to the  download page for Instagram.</p>
<p style="text-align: center;"><a href="http://www.chilisapps.com/wp-content/uploads/2012/08/2012-08-29-09.29.12.png"><img class="size-full wp-image-427 aligncenter" title="Facebook Launching Play Store" alt="" src="http://www.chilisapps.com/wp-content/uploads/2012/08/2012-08-29-09.29.12.png" width="400" height="356" /></a></p>
<p>This is all sounding great so far right? Now for whatever reason I get distracted and hit the home button or take a call etc. Lets take a look at what happens next time I hit the Facebook icon on my home screen:</p>
<p style="text-align: center;"><a href="http://www.chilisapps.com/wp-content/uploads/2012/08/2012-08-29-10.07.35.png"><img class="size-full wp-image-428 aligncenter" title="Facebook to Play Store Weirdness" alt="" src="http://www.chilisapps.com/wp-content/uploads/2012/08/2012-08-29-10.07.35.png" width="400" height="356" /></a></p>
<p>Boom just like that I&#8217;m right back where I left off, but I&#8217;m in the Play Store. Wait what?! That&#8217;s likely the reaction of many of your users, especially if they have been gone for a long time. Even though they clicked on the Facebook icon they are in the Play Store looking at the Instagram listing. Now Android is doing its job here, exactly what we asked it to do but in this case I don&#8217;t think its the best experience for our users. It would be better for them to always end up in our app when they launch it from the home screen.</p>
<p>Luckily there&#8217;s a really easy fix. Whenz creating our intent we just need to set a flag <a href="http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET">FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET</a> so that android knows this is a break in the flow of our app. We are telling the system the next time a user resets ( or reopens ) our app please clear this activity off the stack.</p>
<p>Quick example of the code to set a flag on our intent:</p>
<pre class="brush: java; light: false; title: ; notranslate">
Intent testIntent = new Intent( Intent.ACTION_VIEW, Uri.parse(&quot;market://details?id=packagename&quot;));
testIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
startActivity(testIntent);
</pre>
<p>This is really easy to accomplish and you should consider updating your apps if they fall into this trap! Let us know what you think in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.chilisapps.com/blog/2012/08/29/the-right-way-to-launch-other-apps/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Android Holo themes with backwards compatibility</title>
		<link>https://www.chilisapps.com/blog/2012/04/17/support-holo-and-older-themes-in-android/</link>
		<comments>https://www.chilisapps.com/blog/2012/04/17/support-holo-and-older-themes-in-android/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 03:43:25 +0000</pubDate>
		<dc:creator><![CDATA[Ben]]></dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://chilisapps.com/?p=307</guid>
		<description><![CDATA[The Android platform provides  a nice feature for app developers called themes. Themes allow developers to change the appearance of activities or the whole application easily. Developers can choose from themes like full-screen or no title bar, as well as ones that change the application from a dark to a light appearance. When Google introduced<p><a href="https://www.chilisapps.com/blog/2012/04/17/support-holo-and-older-themes-in-android/">Continue Reading &#8594;</a></p>]]></description>
				<content:encoded><![CDATA[<p>The Android platform provides  a nice feature for app developers called themes. Themes allow developers to change the appearance of activities or the whole application easily. Developers can choose from themes like full-screen or no title bar, as well as ones that change the application from a dark to a light appearance. When Google introduced Android Honeycomb ( Version 3.X ) they also introduced a new theme family called Holo. This created a problem for app developers, if they target the new Holo theme in an application it will crash on older versions of Android. This may not seem like an issue but if we are using the old themes on new devices the application won&#8217;t look correct. For example:</p>
<p><a href="http://chilisapps.com/wp-content/uploads/2012/04/DialogThemes.png"><img class="aligncenter size-medium wp-image-361" title="Dialog Themes" src="http://chilisapps.com/wp-content/uploads/2012/04/DialogThemes-300x167.png" alt="" width="300" height="167" /></a></p>
<p>Lets take a look at an example of the problem and then I&#8217;ll explain an easy fix. I have an existing activity that is using the no title bar theme:</p>
<pre class="brush: xml; light: false; title: ; notranslate">
&lt;activity
android:name=&quot;com.example.main&quot;
    android:theme=&quot;@android:style/Theme.NoTitleBar&quot;
    android:label=&quot;@string/app_name&quot;
    /&gt;
</pre>
<p>I can&#8217;t simply change to the new holo theme as follows because it will break compatibilty with 1.X and 2.X phones:</p>
<pre class="brush: xml; light: false; title: ; notranslate">
&lt;activity
    android:name=&quot;com.example.main&quot;
    android:theme=&quot;@android:style/Theme.Holo.NoActionBar&quot;
    android:label=&quot;@string/app_name&quot;
    /&gt;
</pre>
<p>Luckily there is an easy solution to this problem! We just need to create our own themes that inherit from the standard android ones. We can then place the files into folders using resource qualifiers to make sure the correct theme gets applied on the correct device.</p>
<p>Your application will already have a values folder in its res directory, we can add a new one called values-v11. If you know about version qualifiers already feel free to skip ahead, otherwise I&#8217;ll quickly explain them here. We can qualify the items in a resource folder by adding qualifiers. These can be based on the android platform version, the screen density or many other options. For this example we need to apply different styles for devices running android versions 1.X and 2.X and devices running 3.X and 4.X. When using resource qualifiers you have to use the platform version. You can look them up <a href="http://developer.android.com/resources/dashboard/platform-versions.html">here</a>. The qualifiers work on a best-match system that is beyond the scope of this post but any version greater than 11 will use our new values-v11 folder. You should end up with something that looks like this:</p>
<p><a href="http://chilisapps.com/wp-content/uploads/2012/04/ThemeQualifiers.png"><img class="aligncenter size-full wp-image-356" title="Android Values Folder For Themes" src="http://chilisapps.com/wp-content/uploads/2012/04/ThemeQualifiers.png" alt="" width="223" height="236" /></a></p>
<p>You will need to start by creating a themes.xml file in the values folder and add the following text:</p>
<pre class="brush: xml; title: ; wrap-lines: true; notranslate">
&lt;resources xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&gt;
    &lt;style name=&quot;Theme.Default&quot; parent=&quot;@android:style/Theme&quot;&gt;&lt;/style&gt;
    &lt;style name=&quot;Theme.NoTitle&quot; parent=&quot;@android:style/Theme.NoTitleBar&quot;&gt;&lt;/style&gt;
    &lt;style name=&quot;Theme.FullScreen&quot; parent=&quot;@android:style/Theme.NoTitleBar.Fullscreen&quot;&gt;&lt;/style&gt;
&lt;/resources&gt;
</pre>
<p>What we have done here is created three custom themes called Theme.Default, Theme.NoTitle and Theme.FullScreen and used the standard android themes as the parents. Now you can create a new themes.xml or copy this one into the values-v11 folder you created earlier. Edit it as follows:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;resources xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&gt;
    &lt;style name=&quot;Theme.Default&quot; parent=&quot;@android:style/Theme.Holo&quot;&gt;&lt;/style&gt;
    &lt;style name=&quot;Theme.NoTitle&quot; parent=&quot;@android:style/Theme.Holo.NoActionBar&quot;&gt;&lt;/style&gt;
    &lt;style name=&quot;Theme.FullScreen&quot; parent=&quot;@android:style/Theme.Holo.NoActionBar.Fullscreen&quot;&gt;&lt;/style&gt;
&lt;/resources&gt;
</pre>
<p>Now we need to go back to our application manifest and update the activities theme to one of our new custom ones:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;activity
    android:name=&quot;com.example.main&quot;
    android:theme=&quot;@style/Theme.NoTitle&quot;
    android:label=&quot;@string/app_name&quot;
    /&gt;
</pre>
<p>We&#8217;re all done. If the user is using an older version of android they will get the old no title bar theme and if they are using a new one they will see the new Holo theme. You may think this doesn&#8217;t really matter but if you set the theme to NoTitleBar and the user is running the app on a new device the will see dialogs from the older android versions. This can confuse users because its not what they are used to seeing, or leave them wondering why your app doesn&#8217;t work properly on their phone.</p>
<p>Feel free to post any questions below and make sure you use the right themes!!</p>
]]></content:encoded>
			<wfw:commentRss>https://www.chilisapps.com/blog/2012/04/17/support-holo-and-older-themes-in-android/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

 Served from: www.chilisapps.com @ 2026-04-27 11:47:18 by W3 Total Cache -->