Android Open Source - android-gskbyte-utils Auto Background Button Drawable






From Project

Back to project page android-gskbyte-utils.

License

The source code is released under:

GNU Lesser General Public License

If you think the Android project android-gskbyte-utils listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package org.gskbyte.drawable;
/*w  ww  . j  a va  2 s  .  c o  m*/
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.LightingColorFilter;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;

/**
 * Drawable layer to be used by AutoBackgroundButton and
 * AutoBackgroundImageButton
 * */
public class AutoBackgroundButtonDrawable
extends LayerDrawable
{

protected static final int  DISABLED_ALPHA        = 100,
                            FULL_ALPHA            = 255;
public    static final int  DEFAULT_COLOR_FILTER = Color.GRAY;

protected final ColorFilter pressedFilter;

public AutoBackgroundButtonDrawable(Drawable d, int colorFilter)
{
    super(new Drawable[] { d });
    pressedFilter = new LightingColorFilter(colorFilter, 1);
}

/*
private boolean gravitySwitched = false;
@Override
public void draw(Canvas canvas)
{
    Drawable d = getDrawable(0);
    if(!gravitySwitched && (d instanceof BitmapDrawable)) {
        BitmapDrawable bd = (BitmapDrawable) d;
        int gravity = bd.getGravity();
        int oppositeGravity = (gravity != Gravity.NO_GRAVITY) ? Gravity.NO_GRAVITY : Gravity.CENTER;
        bd.setGravity(oppositeGravity);
        bd.setGravity(gravity);
        gravitySwitched = true;
    }
    
    super.draw(canvas);
}*/

@Override
protected boolean onStateChange(int[] states)
{
    boolean enabled = false;
    boolean pressed = false;

    for (int state : states) {
        if (state == android.R.attr.state_enabled)
            enabled = true;
        else if (state == android.R.attr.state_pressed)
            pressed = true;
    }

    mutate();
    if (enabled && pressed) {
        setColorFilter(pressedFilter);
    } else if (!enabled) {
        setColorFilter(null);
        setAlpha(DISABLED_ALPHA);
    } else {
        setColorFilter(null);
        setAlpha(FULL_ALPHA);
    }

    invalidateSelf();

    return super.onStateChange(states);
}

@Override
public boolean isStateful()
{ return true; }

}




Java Source Code List

com.woozzu.android.widget.IndexScroller.java
com.woozzu.android.widget.IndexableListView.java
org.gskbyte.FragmentWrapperActivity.java
org.gskbyte.animation.ExpandAnimation.java
org.gskbyte.bitmap.AbstractBitmapManager.java
org.gskbyte.bitmap.BitmapColorizer.java
org.gskbyte.bitmap.BitmapManager.java
org.gskbyte.bitmap.CachedBitmapColorizer.java
org.gskbyte.bitmap.IndexedBitmaps.java
org.gskbyte.bitmap.LRUBitmapCache.java
org.gskbyte.bitmap.LRUBitmapManager.java
org.gskbyte.bitmap.PrivateBitmapManager.java
org.gskbyte.bitmap.ReferencedBitmaps.java
org.gskbyte.collection.ArrayHashMap.java
org.gskbyte.collection.DoubleSparseArray.java
org.gskbyte.collection.ListHashMap.java
org.gskbyte.dialog.DownloadDialogFragment.java
org.gskbyte.dialog.LoadDialogFragment.java
org.gskbyte.dialog.OpenLinkDialogBuilder.java
org.gskbyte.dialog.PickerDialogFragment.java
org.gskbyte.download.DiskDownload.java
org.gskbyte.download.DownloadManager.java
org.gskbyte.download.Download.java
org.gskbyte.download.MemoryDownload.java
org.gskbyte.drawable.AutoBackgroundButtonDrawable.java
org.gskbyte.listener.IListenable.java
org.gskbyte.listener.ListenableNG.java
org.gskbyte.listener.Listenable.java
org.gskbyte.preferences.DialogSeekBarPreference.java
org.gskbyte.preferences.InlineSeekBarPreference.java
org.gskbyte.remote.AsyncURLRequest.java
org.gskbyte.remote.URLRequest.java
org.gskbyte.tasks.QueuedTaskExecutor.java
org.gskbyte.tasks.TaskStep.java
org.gskbyte.tasks.Task.java
org.gskbyte.ui.ArrayAdapterWithDefaultValue.java
org.gskbyte.ui.ListAdapter.java
org.gskbyte.ui.ColorDialog.ColorDialog.java
org.gskbyte.ui.ColorDialog.ColorPreference.java
org.gskbyte.ui.iconifiedMainMenuList.EntryView.java
org.gskbyte.ui.iconifiedMainMenuList.MainMenuAdapter.java
org.gskbyte.ui.iconifiedMainMenuList.MenuEntry.java
org.gskbyte.util.FrequentIntents.java
org.gskbyte.util.IOUtils.java
org.gskbyte.util.Logger.java
org.gskbyte.util.OpenFileHandlerFactory.java
org.gskbyte.util.OpenFileHandler.java
org.gskbyte.util.XmlUtils.java
org.gskbyte.view.AsyncImageView.java
org.gskbyte.view.AutoBackgroundButton.java
org.gskbyte.view.AutoBackgroundImageButton.java
org.gskbyte.view.AutoHeightImageView.java
org.gskbyte.view.ExpandedGridView.java
org.gskbyte.view.ExpandedListView.java
org.gskbyte.view.FontUtil.java
org.gskbyte.view.FontableButton.java
org.gskbyte.view.FontableCheckBox.java
org.gskbyte.view.FontableEditText.java
org.gskbyte.view.FontableTextView.java
org.gskbyte.view.FullWidthImageView.java
org.gskbyte.view.ProportionalHeightLayout.java
org.gskbyte.view.PullToRefreshListView.java
org.gskbyte.view.SquaredLayout.java
org.gskbyte.view.StepSeekBar.java
org.gskbyte.view.TextViewUtil.java
org.gskbyte.view.ViewUtils.java