Android Styles And Themes

 

Android Styles And Themes

Android  Styles and Themes are  resource identifies the format to check out a User Interface. An android style can be employed to a person View (from within a design file) or even to a whole Activity or request from within the manifest.

android-styles-and-themes

Defining Android Styles

An Android  styles and themes is identified within an XML learning resource that is distinct from the XML that specifies the design. This XML document resides under res/worth/ listing of assembling your project and can have <resources> as the root node which is essential for the style data file. The real name of the XML document is arbitrary, but it is necessary to  use the .xml expansion or extension.

You can identify few numbers of styles per file using this tag <style> tag but each and every style will have its name that distinctively recognizes the style. Android styles capabilities are arranged using this tag <item>  as given below

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <style name="CustomFontStyle">
      <item name="android:layout_width">fill_parent</item>
      <item name="android:layout_height">wrap_content</item>
      <item name="android:capitalize">characters</item>
      <item name="android:typeface">monospace</item>
      <item name="android:textSize">12pt</item>
      <item name="android:textColor">#00FF00</item>/> 
   </style>
</resources>

 

The worthiness for the <item> can be considered a keyword string, a hex color, a mention of another tool type, or other value with regards to the style property.

Using Android Styles and Themes

If your style code is ready to use then you can use it in XML Design/Layout file with Style attributes as given below

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >

   <TextView
      android:id="@+id/text_id"
      style="@style/CustomFontStyle"
      android:text="@string/hello_world" />

</LinearLayout>

 

Android facilitates style Inheritance in quite definitely similar way as cascading style sheet (CSS) in web site design. You should use this to inherit properties from a preexisting style and then explain only the properties that you would like to improve or add.

To put into action a custom theme edit or create MyAndroidApp/res/values/themes.xml and add the next

<resources>
   ...
   <style name="MyCustomTheme" parent="android:style/Theme">
   <item name="android:textColorPrimary">#ffff0000</item>
   </style>
   ...
</resources>

 

In AndroidManifest.xml apply the theme to the activities you want to style

<activity
   android:name="com.myapp.MyActivity"
   ...
   android:theme="@style/MyCustomTheme"
   />

 

New theme has been applied to activity, and text is now red.

android styles and themes

Applying Colors to Theme Attributes

Your color learning resource may then be applied for some theme features, like the screen background and the principal text color, with the addition of elements to your custom theme. These qualities are identified in your styles.xml document. For example, to use the custom color to the home window background, add the next two elements to your custom theme, identified in MyAndroidApp/res/worth/styles.xml data file –

<resources>
   ...
   <style name="MyCustomTheme" ...>
      <item name="android:windowBackground">@color/my_custom_color</item>
      <item name="android:colorBackgroundCacheHint">@color/my_custom_color</item>
   </style>
   ...
</resources>

android styles and themes

Using a Custom Nine-Patch With Buttons

A nine-patch drawable is a particular type of image that can be scaled wide and elevation while retaining its aesthetic integrity. Nine-patches are the most frequent way to identify the looks of Android OS buttons, though any drawable type can be utilized.

Steps to create Nine-Patch Buttons

  • First Save this bitmap extension image as /res/drawable/my_nine_patch.9.png
  • Second specify a new style
  • At last Apply the new button style to the buttonStyle feature of your custom theme

DEFINE A NEW STYLE

<resources>
   ...
      <style name="MyCustomButton" parent="android:Widget.Button">
      <item name="android:background">@drawable/my_nine_patch</item>
      </style>
   ...
</resources>

 

APPLY THE THEME

<resources>
   ...
      <style name="MyCustomTheme" parent=...>
         ...
         <item name="android:buttonStyle">@style/MyCustomButton</item>
      </style>
   ...
</resources>

 

android styles and themes

Android Styles and Themes

I hope that you understood  the idea of android Styles and themes and you should do so, so now we should attempt to comprehend what is a Android Themes and Styles. A Theme  is only an Android style connected to a whole Activity or application, instead of an individual View.

In this way, when a style is connected as a theme, each View in the Activity or application will apply every style property that it underpins. For instance, you can apply the same CustomFontStyle style as a subject for an Activity and after that all content inside that Activity will have green monospace text style.

 

In order to set a android theme for every one of the activities of your application, open the AndroidManifest.xml and modify the <application> tag to incorporate the android:theme attribute with the style name. For instance

<application android:theme="@style/CustomFontStyle">

 

Be that as it may, on the off chance that you need a activity connected to only one Activity in your application, then add the android:theme attribute to the <activity> tag as it were. For instance

<activity android:theme="@style/CustomFontStyle">

 

There are number of default android themes and styles characterized by Android which you can utilize straightforwardly or acquire them utilizing parent attribute as takes after

<style name="CustomTheme" parent="android:Theme.Light">
   ...
</style>


Android Button Style Generator

There are a lot of online tools to generate android button styles one of them is This. Here You can generate custom android button style.