Android 4.4(KitKat) introduced translucent system UI styling for status and navigation bars.
Jgilfelt repository on Git-hub demonstrated how to use it.
Download Source Code Download 
Firstly use 4.4+ library, then copy this file into your package as SystemBarTintManager.java .
| 
import
android.annotation.SuppressLint; 
import
android.annotation.TargetApi; 
import
android.app.Activity; 
import
android.content.Context; 
import
android.content.res.Configuration; 
import
android.content.res.Resources; 
import
android.content.res.TypedArray; 
import
android.graphics.drawable.Drawable; 
import
android.os.Build; 
import
android.util.DisplayMetrics; 
import
android.util.TypedValue; 
import
android.view.Gravity; 
import android.view.View; 
import
android.view.ViewConfiguration; 
import
android.view.ViewGroup; 
import
android.view.Window; 
import
android.view.WindowManager; 
import
android.widget.FrameLayout.LayoutParams; 
import
java.lang.reflect.Method; 
/** 
 * Class to manage status and navigation bar
tint effects when using KitKat  
 * translucent system UI modes. 
 * 
 */ 
public class
SystemBarTintManager { 
    static { 
        // Android allows a system property to
override the presence of the navigation bar. 
        // Used by the emulator. 
        if (Build.VERSION.SDK_INT >=
Build.VERSION_CODES.KITKAT) { 
            try { 
                Class c = Class.forName("android.os.SystemProperties"); 
                Method m = c.getDeclaredMethod("get", String.class); 
                m.setAccessible(true); 
                sNavBarOverride = (String)
m.invoke(null, "qemu.hw.mainkeys"); 
            } catch (Throwable e) { 
                sNavBarOverride = null; 
            } 
        } 
    } 
    /** 
     * The default system bar tint color
value. 
     */ 
//    public static final int
DEFAULT_TINT_COLOR = 0x99000000; 
    public static final int DEFAULT_TINT_COLOR = 0x00000000; 
    private static String sNavBarOverride; 
    private final SystemBarConfig
mConfig; 
    private boolean mStatusBarAvailable; 
    private boolean mNavBarAvailable; 
    private boolean mStatusBarTintEnabled; 
    private boolean mNavBarTintEnabled; 
    private View mStatusBarTintView; 
    private View mNavBarTintView; 
    /** 
     * Constructor. Call this in the host
activity onCreate method after its 
     * content view has been set. You should
always create new instances when 
     * the host activity is recreated. 
     * 
     * @param activity The
host activity. 
     */ 
    @TargetApi(19) 
    public
SystemBarTintManager(Activity activity) { 
        Window win = activity.getWindow(); 
        ViewGroup decorViewGroup = (ViewGroup)
win.getDecorView(); 
        if (Build.VERSION.SDK_INT >=
Build.VERSION_CODES.KITKAT) { 
            // check theme attrs 
            int[] attrs =
{android.R.attr.windowTranslucentStatus, 
                    android.R.attr.windowTranslucentNavigation}; 
            TypedArray a =
activity.obtainStyledAttributes(attrs); 
            try { 
                mStatusBarAvailable =
a.getBoolean(0, false); 
                mNavBarAvailable = a.getBoolean(1,
false); 
            } finally { 
                a.recycle(); 
            } 
            // check window flags 
            WindowManager.LayoutParams
winParams = win.getAttributes(); 
            int bits =
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; 
            if ((winParams.flags & bits) !=
0) { 
                mStatusBarAvailable = true; 
            } 
            bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION; 
            if ((winParams.flags & bits) !=
0) { 
                mNavBarAvailable = true; 
            } 
        } 
        mConfig = new
SystemBarConfig(activity, mStatusBarAvailable, mNavBarAvailable); 
        // device might not have virtual
navigation keys 
        if (!mConfig.hasNavigtionBar())
{ 
  
         mNavBarAvailable = false; 
        } 
        if (mStatusBarAvailable) { 
            setupStatusBarView(activity,
decorViewGroup); 
        } 
        if (mNavBarAvailable) { 
            setupNavBarView(activity,
decorViewGroup); 
        } 
    } 
    /** 
     * Enable tinting of the system status bar. 
     * 
     * If the platform is running Jelly Bean or
earlier, or translucent system 
     * UI modes have not been enabled in either
the theme or via window flags, 
     * then this method does nothing. 
     * 
     * @param enabled True
to enable tinting, false to disable it (default). 
     */ 
    public void
setStatusBarTintEnabled(boolean enabled) { 
        mStatusBarTintEnabled = enabled; 
        if (mStatusBarAvailable) { 
            mStatusBarTintView.setVisibility(enabled
? View.VISIBLE : View.GONE); 
        } 
    } 
    /** 
     * Enable tinting of the system navigation
bar. 
     * 
     * If the platform does not have soft
navigation keys, is running Jelly Bean 
     * or earlier, or translucent system UI
modes have not been enabled in either 
     * the theme or via window flags, then this
method does nothing. 
     * 
     * @param enabled True
to enable tinting, false to disable it (default). 
     */ 
    public void
setNavigationBarTintEnabled(boolean enabled) { 
        mNavBarTintEnabled = enabled; 
        if (mNavBarAvailable) { 
            mNavBarTintView.setVisibility(enabled
? View.VISIBLE : View.GONE); 
        } 
    } 
    /** 
     * Apply the specified color tint to
all system UI bars. 
     * 
     * @param color The color
of the background tint. 
     */ 
    public void setTintColor(int color) { 
        setStatusBarTintColor(color); 
        setNavigationBarTintColor(color); 
    } 
    /** 
     * Apply the specified drawable or color
resource to all system UI bars. 
     * 
     * @param res The
identifier of the resource. 
     */ 
    public void
setTintResource(int res) { 
        setStatusBarTintResource(res); 
        setNavigationBarTintResource(res); 
    } 
    /** 
     * Apply the specified drawable to
all system UI bars. 
     * 
     * @param drawable The drawable
to use as the background, or null to remove it. 
     */ 
    public void
setTintDrawable(Drawable drawable) { 
        setStatusBarTintDrawable(drawable); 
        setNavigationBarTintDrawable(drawable); 
    } 
    /** 
     * Apply the specified alpha to all system
UI bars. 
     * 
     * @param alpha The
alpha to use 
     */ 
    public void setTintAlpha(float alpha) { 
        setStatusBarAlpha(alpha); 
        setNavigationBarAlpha(alpha); 
    } 
    /** 
     * Apply the specified color tint to
the system status bar. 
     * 
     * @param color The color
of the background tint. 
     */ 
    public void
setStatusBarTintColor(int color) { 
        if (mStatusBarAvailable) { 
            mStatusBarTintView.setBackgroundColor(color); 
        } 
    } 
    /** 
     * Apply the specified drawable or color
resource to the system status bar. 
     * 
     * @param res The
identifier of the resource. 
     */ 
    public void
setStatusBarTintResource(int res) { 
        if (mStatusBarAvailable) { 
            mStatusBarTintView.setBackgroundResource(res); 
        } 
    } 
    /** 
     * Apply the specified drawable to
the system status bar. 
     * 
     * @param drawable The drawable
to use as the background, or null to remove it. 
     */ 
    @SuppressWarnings("deprecation") 
    public void
setStatusBarTintDrawable(Drawable drawable) { 
        if (mStatusBarAvailable) { 
            mStatusBarTintView. 
        } 
    } 
    /** 
     * Apply the specified alpha to the system
status bar. 
     * 
     * @param alpha The
alpha to use 
     */ 
    @TargetApi(11) 
    public void
setStatusBarAlpha(float alpha) { 
        if (mStatusBarAvailable &&
Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
            mStatusBarTintView.setAlpha(alpha); 
        } 
    } 
    /** 
     * Apply the specified color tint to
the system navigation bar. 
     * 
     * @param color The color
of the background tint. 
     */ 
    public void
setNavigationBarTintColor(int color) { 
        if (mNavBarAvailable) { 
            mNavBarTintView.setBackgroundColor(color); 
        } 
    } 
    /** 
     * Apply the specified drawable or color
resource to the system navigation bar. 
     * 
     * @param res The
identifier of the resource. 
     */ 
    public void
setNavigationBarTintResource(int res) { 
        if (mNavBarAvailable) { 
  
         mNavBarTintView.setBackgroundResource(res); 
        } 
    } 
    /** 
     * Apply the specified drawable to
the system navigation bar. 
     * 
     * @param drawable The drawable
to use as the background, or null to remove it. 
     */ 
    @SuppressWarnings("deprecation") 
    public void
setNavigationBarTintDrawable(Drawable drawable) { 
        if (mNavBarAvailable) { 
            mNavBarTintView. 
        } 
    } 
    /** 
     * Apply the specified alpha to the system
navigation bar. 
     * 
     * @param alpha The
alpha to use 
     */ 
    @TargetApi(11) 
    public void
setNavigationBarAlpha(float alpha) { 
        if (mNavBarAvailable &&
Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
            mNavBarTintView.setAlpha(alpha); 
        } 
    } 
    /** 
     * Get the system bar configuration. 
     * 
     * @return The system
bar configuration for the current device configuration. 
     */ 
    public SystemBarConfig
getConfig() { 
        return mConfig; 
    } 
    /** 
     * Is tinting enabled for the system status
bar? 
     * 
     * @return True if
enabled, False otherwise. 
     */ 
    public boolean
isStatusBarTintEnabled() { 
        return mStatusBarTintEnabled; 
    } 
    /** 
     * Is tinting enabled for the system
navigation bar? 
     * 
     * @return True if
enabled, False otherwise. 
     */ 
    public boolean
isNavBarTintEnabled() { 
        return mNavBarTintEnabled; 
    } 
    private void
setupStatusBarView(Context context, ViewGroup decorViewGroup) { 
        mStatusBarTintView = new View(context); 
        LayoutParams params = new
LayoutParams(LayoutParams.MATCH_PARENT, mConfig.getStatusBarHeight()); 
        params.gravity = Gravity.TOP; 
        if (mNavBarAvailable && !mConfig.isNavigationAtBottom())
{ 
            params.rightMargin = mConfig.getNavigationBarWidth(); 
        } 
        mStatusBarTintView.setLayoutParams(params); 
        mStatusBarTintView.setBackgroundColor(DEFAULT_TINT_COLOR); 
        mStatusBarTintView.setVisibility(View.GONE); 
        decorViewGroup.addView(mStatusBarTintView); 
    } 
    private void
setupNavBarView(Context context, ViewGroup decorViewGroup) { 
        mNavBarTintView = new View(context); 
        LayoutParams params; 
        if (mConfig.isNavigationAtBottom())
{ 
            params = new
LayoutParams(LayoutParams.MATCH_PARENT, mConfig.getNavigationBarHeight()); 
            params.gravity = Gravity.BOTTOM; 
        } else { 
            params = new LayoutParams(mConfig.getNavigationBarWidth(),
LayoutParams.MATCH_PARENT); 
            params.gravity = Gravity.RIGHT; 
        } 
        mNavBarTintView.setLayoutParams(params); 
        mNavBarTintView.setBackgroundColor(DEFAULT_TINT_COLOR); 
        mNavBarTintView.setVisibility(View.GONE); 
        decorViewGroup.addView(mNavBarTintView); 
    } 
    /** 
     * Class which describes system bar sizing
and other characteristics for the current 
     * device configuration. 
     * 
     */ 
    public static class SystemBarConfig
{ 
        private static final String STATUS_BAR_HEIGHT_RES_NAME = "status_bar_height"; 
        private static final String NAV_BAR_HEIGHT_RES_NAME = "navigation_bar_height"; 
        private static final String NAV_BAR_HEIGHT_LANDSCAPE_RES_NAME = "navigation_bar_height_landscape"; 
        private static final String NAV_BAR_WIDTH_RES_NAME = "navigation_bar_width"; 
        private static final String SHOW_NAV_BAR_RES_NAME = "config_showNavigationBar"; 
        private final boolean mTranslucentStatusBar; 
        private final boolean mTranslucentNavBar; 
        private final int mStatusBarHeight; 
        private final int mActionBarHeight; 
        private final boolean mHasNavigationBar; 
        private final int mNavigationBarHeight; 
        private final int mNavigationBarWidth; 
        private final boolean mInPortrait; 
        private final float mSmallestWidthDp; 
        private
SystemBarConfig(Activity activity, boolean
translucentStatusBar, boolean traslucentNavBar) { 
            Resources res = activity.getResources(); 
            mInPortrait =
(res.getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT); 
            mSmallestWidthDp =
getSmallestWidthDp(activity); 
            mStatusBarHeight =
getInternalDimensionSize(res, STATUS_BAR_HEIGHT_RES_NAME); 
            mActionBarHeight =
getActionBarHeight(activity); 
            mNavigationBarHeight =
getNavigationBarHeight(activity); 
            mNavigationBarWidth =
getNavigationBarWidth(activity); 
            mHasNavigationBar = (mNavigationBarHeight > 0); 
            mTranslucentStatusBar =
translucentStatusBar; 
            mTranslucentNavBar =
traslucentNavBar; 
        } 
        @TargetApi(14) 
        private int
getActionBarHeight(Context context) { 
            int result = 0; 
            if (Build.VERSION.SDK_INT >=
Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 
                TypedValue tv = new TypedValue(); 
               
context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true); 
                result = TypedValue.complexToDimensionPixelSize(tv.data,
context.getResources().getDisplayMetrics()); 
            } 
            return result; 
        } 
        @TargetApi(14) 
        private int
getNavigationBarHeight(Context context) { 
            Resources res =
context.getResources(); 
            int result = 0; 
            if (Build.VERSION.SDK_INT >=
Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 
                if
(hasNavBar(context)) { 
                    String key; 
                    if (mInPortrait) { 
                        key = NAV_BAR_HEIGHT_RES_NAME; 
                    } else { 
                        key = NAV_BAR_HEIGHT_LANDSCAPE_RES_NAME; 
                    } 
                    return
getInternalDimensionSize(res, key); 
                } 
            } 
            return result; 
        } 
        @TargetApi(14) 
        private int
getNavigationBarWidth(Context context) { 
            Resources res =
context.getResources(); 
            int result = 0; 
            if (Build.VERSION.SDK_INT >=
Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 
                if
(hasNavBar(context)) { 
                    return
getInternalDimensionSize(res, NAV_BAR_WIDTH_RES_NAME); 
                } 
            } 
            return result; 
        } 
        @TargetApi(14) 
        private boolean
hasNavBar(Context context) { 
            Resources res =
context.getResources(); 
            int resourceId =
res.getIdentifier(SHOW_NAV_BAR_RES_NAME, "bool", "android"); 
            if (resourceId !=
0) { 
                boolean hasNav =
res.getBoolean(resourceId); 
                // check override flag (see
static block) 
                if ("1".equals(sNavBarOverride)) { 
                    hasNav = false; 
                } else if ("0".equals(sNavBarOverride)) { 
                    hasNav = true; 
                } 
                return hasNav; 
            } else { // fallback 
                return
!ViewConfiguration.get(context).hasPermanentMenuKey(); 
            } 
        } 
        private int
getInternalDimensionSize(Resources res, String key) { 
            int result = 0; 
            int resourceId =
res.getIdentifier(key, "dimen", "android"); 
            if (resourceId
> 0) { 
                result =
res.getDimensionPixelSize(resourceId); 
            } 
            return result; 
        } 
        @SuppressLint("NewApi") 
        private float
getSmallestWidthDp(Activity activity) { 
            DisplayMetrics metrics = new
DisplayMetrics(); 
            if (Build.VERSION.SDK_INT >=
Build.VERSION_CODES.JELLY_BEAN) { 
               
activity.getWindowManager().getDefaultDisplay().getRealMetrics(metrics); 
            } else { 
                // TODO this is not
correct, but we don't really care pre-kitkat 
               
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); 
            } 
            float widthDp =
metrics.widthPixels / metrics.density; 
            float heightDp = metrics.heightPixels / metrics.density; 
            return Math.min(widthDp,
heightDp); 
        } 
        /** 
         * Should a navigation bar appear at
the bottom of the screen in the current 
         * device configuration? A navigation
bar may appear on the right side of 
         * the screen in certain
configurations. 
         * 
         * @return True if
navigation should appear at the bottom of the screen, False otherwise. 
         */ 
        public boolean
isNavigationAtBottom() { 
            return (mSmallestWidthDp >= 600 || mInPortrait); 
        } 
        /** 
         * Get the height of the system status
bar. 
         * 
         * @return The height of
the status bar (in pixels). 
         */ 
        public int
getStatusBarHeight() { 
            return mStatusBarHeight; 
        } 
        /** 
         * Get the height of the action bar. 
         * 
         * @return The height of
the action bar (in pixels). 
         */ 
        public int
getActionBarHeight() { 
            return mActionBarHeight; 
        } 
        /** 
         * Does this device have a system
navigation bar? 
         * 
         * @return True if this
device uses soft key navigation, False otherwise. 
         */ 
        public boolean
hasNavigtionBar() { 
            return mHasNavigationBar; 
        } 
        /** 
         * Get the height of the system
navigation bar. 
         * 
         * @return The height of
the navigation bar (in pixels). If the device does not have 
         * soft navigation keys, this will
always return 0. 
         */ 
        public int
getNavigationBarHeight() { 
            return mNavigationBarHeight; 
        } 
        /** 
         * Get the width of the system
navigation bar when it is placed vertically on the screen. 
         * 
         * @return The width of
the navigation bar (in pixels). If the device does not have 
         * soft navigation keys, this will
always return 0. 
         */ 
        public int
getNavigationBarWidth() { 
            return mNavigationBarWidth; 
        } 
        /** 
         * Get the layout inset for any
system UI that appears at the top of the screen. 
         * 
         * @param withActionBar
True to include the height of the action bar, False otherwise. 
         * @return The layout inset
(in pixels). 
         */ 
        public int
getPixelInsetTop(boolean withActionBar) { 
            return (mTranslucentStatusBar ? mStatusBarHeight : 0) +
(withActionBar ? mActionBarHeight : 0); 
        } 
        /** 
         * Get the layout inset for any
system UI that appears at the bottom of the screen. 
         * 
         * @return The layout inset
(in pixels). 
         */ 
        public int
getPixelInsetBottom() { 
            if (mTranslucentNavBar &&
isNavigationAtBottom()) { 
                return mNavigationBarHeight; 
            } else { 
                return 0; 
            } 
        } 
        /** 
         * Get the layout inset for any
system UI that appears at the right of the screen. 
         * 
         * @return The layout inset
(in pixels). 
         */ 
        public int
getPixelInsetRight() { 
            if (mTranslucentNavBar &&
!isNavigationAtBottom()) { 
                return mNavigationBarWidth; 
            } else { 
                return 0; 
            } 
        } 
    } 
} | 
Styles
To enable Transparency use TranslucentDecor theme like "android:Theme.Holo.Light.NoActionBar.TranslucentDecor".
Here are the style files-
A. values folder->styles.xml
| 
<resources> 
    <!-- 
        Base application theme, dependent on
API level. This theme is replaced 
        by AppBaseTheme from
res/values-vXX/styles.xml on newer devices. 
    --> 
    <style name="AppBaseTheme"
parent="android:Theme"> 
        <!-- 
            Theme customizations available in
newer API levels can go in 
            res/values-vXX/styles.xml, while
customizations related to 
            backward-compatibility can go here. 
        --> 
    </style> 
    <!-- Application theme. --> 
    <style name="AppTheme"
parent="AppBaseTheme"> 
        <!-- All customizations that are
NOT specific to a particular API-level can go here. --> 
    </style> 
    <style name="FullBleedTheme"
parent="android:Theme.Light.NoTitleBar"> 
        <!-- All customizations that are
NOT specific to a particular API-level can go here. --> 
    </style> 
    <style name="ActionBarTheme"
parent="android:Theme.Light"> 
        <!-- All customizations that are
NOT specific to a particular API-level can go here. --> 
    </style> 
</resources> | 
B. values-v11 folder->styles.xml
| 
<resources> 
    <!-- 
        Base application theme for API 11+.
This theme completely replaces 
        AppBaseTheme from res/values/styles.xml
on API 11+ devices. 
    --> 
    <style name="AppBaseTheme"
parent="android:Theme.Holo.Light"> 
        <!-- API 11 theme customizations
can go here. --> 
    </style> 
</resources> | 
C. values-v14 folder->styles.xml
| 
<resources> 
    <!-- 
        Base application theme for API 14+.
This theme completely replaces 
        AppBaseTheme from BOTH
res/values/styles.xml and 
        res/values-v11/styles.xml on API 14+
devices. 
    --> 
    <style name="AppBaseTheme"
parent="android:Theme.Holo"> 
        <!-- API 14 theme customizations
can go here. --> 
    </style> 
    <style name="FullBleedTheme"
parent="android:Theme.Holo.Light.NoActionBar"> 
        <!-- API 14 theme customizations
can go here. --> 
    </style> 
    <style name="ActionBarTheme"
parent="android:Theme.Holo.Light.DarkActionBar"> 
        <!-- API 14 theme customizations
can go here. --> 
        <item name="android:actionBarStyle">@style/ActionBarStyle</item> 
    </style> 
    <style name="ActionBarStyle"
parent="android:Widget.Holo.Light.ActionBar.Solid.Inverse"> 
        <item name="android:background">@color/actionbar_bg</item> 
    </style> 
</resources> | 
D. values-v19 folder->styles.xml
| 
<resources> 
    <!-- 
        Base application theme for API 19+.
This theme completely replaces 
        AppBaseTheme from BOTH
res/values/styles.xml and 
        res/values-v11/styles.xml on API 19+
devices. 
    -->   
 
    <style name="FullBleedTheme"
parent="android:Theme.Holo.Light.NoActionBar.TranslucentDecor"> 
        <!-- API 19 theme customizations
can go here. --> 
    </style> 
</resources> | 
Colors
| 
<?xml version="1.0"
encoding="utf-8"?> 
<resources> 
    <color name="actionbar_bg">#FF0099CC</color> <color name="statusbar_bg">#FF0099CC</color> 
</resources> | 
How To Use
1. Make status bar and navigationbar transparent. Make DefaultActivity.java register in Manifest. Use FullBleedTheme.
| 
<activity 
     android:name="com.tutorialsface.systembartint.DefaultActivity" 
     android:label="@string/default_example" 
     android:theme="@style/FullBleedTheme" > 
     <intent-filter> 
         <action android:name="android.intent.action.MAIN"
/> 
         <category android:name="com.tutorialsface.systembartint.SAMPLE"
/> 
     </intent-filter> 
 </activity> | 
| 
DefaultActivity.java 
import
android.app.Activity; 
import
android.os.Bundle; 
public class DefaultActivity
extends Activity { 
      @Override 
      protected void onCreate(Bundle
savedInstanceState) { 
            super.onCreate(savedInstanceState); 
            setContentView(R.layout.activity_default); 
            // create our
manager instance after the content view is set 
            SystemBarTintManager
tintManager = new SystemBarTintManager(this); 
            // enable
status bar tint 
            tintManager.setStatusBarTintEnabled(true); 
            // enable
navigation bar tint 
            tintManager.setNavigationBarTintEnabled(true); 
      } 
} | 
| 
activity_default.xml 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    android:clipToPadding="false" 
    tools:context=".DefaultActivity" > 
    <TextView 
       
android:layout_width="wrap_content" 
       
android:layout_height="wrap_content" 
        android:padding="16dp" 
       
android:textSize="18sp" 
       
android:text="@string/text" /> 
</ScrollView> | 
2. Make Actionbar and Status bar of Same color. Make MatchActionBarActivity.java and register in Manifest. Use ActionBarTheme
| 
<activity 
    android:name="com.tutorialsface.systembartint.MatchActionBarActivity" 
    android:label="@string/match_actionbar_example" 
    android:theme="@style/ActionBarTheme" > 
    <intent-filter> 
        <action android:name="android.intent.action.MAIN"
/> 
        <category android:name="com.tutorialsface.systembartint.SAMPLE"
/> 
    </intent-filter> 
</activity> | 
| 
MatchActionBarActivity.java 
import
android.annotation.TargetApi; 
import
android.app.Activity; 
import
android.os.Build; 
import
android.os.Bundle; 
import
android.view.Window; 
import
android.view.WindowManager; 
public class
MatchActionBarActivity extends Activity {  
      @Override 
      protected void onCreate(Bundle
savedInstanceState) { 
            super.onCreate(savedInstanceState); 
            setContentView(R.layout.activity_match_actionbar); 
            if (Build.VERSION.SDK_INT >=
Build.VERSION_CODES.KITKAT) { 
                  setTranslucentStatus(true); 
            } 
            SystemBarTintManager
tintManager = new SystemBarTintManager(this); 
            tintManager.setStatusBarTintEnabled(true); 
            tintManager.setStatusBarTintResource(R.color.statusbar_bg); 
      } 
      @TargetApi(19)  
      private void
setTranslucentStatus(boolean on) { 
            Window
win = getWindow(); 
            WindowManager.LayoutParams
winParams = win.getAttributes(); 
            final int bits =
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; 
            if (on) { 
                  winParams.flags |= bits; 
            }
else { 
                  winParams.flags &= ~bits; 
            } 
            win.setAttributes(winParams); 
      } 
} | 
| 
activity_match_actionbar.xml 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context=".MatchActionBarActivity" > 
    <TextView 
       
android:layout_width="wrap_content" 
       
android:layout_height="wrap_content" 
       
android:padding="16dp" 
       
android:textSize="18sp" 
       
android:text="@string/text" /> 
</ScrollView> | 
3. Make Status bar and Navigation Bar of Colorful. Make ColorActivity.java and register in Manifest. Use FullBleedTheme.
| 
<activity 
    android:name="com.tutorialsface.systembartint.ColorActivity" 
    android:label="@string/color_example" 
    android:theme="@style/FullBleedTheme" > 
    <intent-filter> 
        <action android:name="android.intent.action.MAIN"
/> 
        <category android:name="com.tutorialsface.systembartint.SAMPLE"
/> 
    </intent-filter> 
</activity> | 
| 
ColorActivity.java 
import
android.app.Activity; 
import
android.graphics.Color; 
import
android.os.Bundle; 
import
android.view.View; 
import
android.view.View.OnClickListener; 
import
android.widget.Button; 
public class ColorActivity extends Activity {  
      private
SystemBarTintManager mTintManager; 
      @Override 
      protected void onCreate(Bundle
savedInstanceState) { 
            super.onCreate(savedInstanceState); 
            setContentView(R.layout.activity_color); 
            mTintManager = new
SystemBarTintManager(this); 
            mTintManager.setStatusBarTintEnabled(true); 
            mTintManager.setNavigationBarTintEnabled(true); 
            applySelectedColor(); 
      } 
      @Override 
      protected void
onRestoreInstanceState(Bundle savedInstanceState) { 
            super.onRestoreInstanceState(savedInstanceState); 
            applySelectedColor(); 
      } 
      private void
applySelectedColor() { 
            mTintManager.setTintColor(Color.BLUE); 
/** 
 * // set a custom tint color for all
system bars 
 * mTintManager.setTintColor(Color.parseColor("#99000FF")); 
 * // set a custom navigation bar resource 
 *
mTintManager.setNavigationBarTintResource(R.drawable.my_tint); 
 * // set a custom status bar drawable 
 *
mTintManager.setStatusBarTintDrawable(MyDrawable); 
 */ 
      } 
} | 
| 
activity_color.xml 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true"> 
    <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:padding="16dp" 
        android:textSize="18sp" 
        android:text="@string/text" /> 
</ScrollView> | 
Download Source Code Download 





 
No comments:
Post a Comment