Android Open Source - android-gskbyte-utils Color Preference






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

/*******************************************************************************
 * Copyright (c) 2013 Jose Alcal Correa.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the GNU Lesser Public License v3.0
 * which accompanies this distribution, and is available at
 * http://www.gnu.org/licenses/lgpl-3.0.txt
 * //from w  w w .j  a  v  a 2  s . c o m
 * Contributors:
 *     Jose Alcal Correa - initial API and implementation
 ******************************************************************************/
package org.gskbyte.ui.ColorDialog;

import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
import android.graphics.drawable.LayerDrawable;
import android.preference.DialogPreference;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;

public class ColorPreference extends DialogPreference implements
        OnSeekBarChangeListener
{
    private SeekBar mRedSeek;
    private SeekBar mGreenSeek;
    private SeekBar mBlueSeek;
    private int mColor;
    private Drawable mPreviewDrawable;
    private ImageView mImage;

    public ColorPreference(final Context context, final AttributeSet attrs)
    {
        super(context, attrs);
    }

    @Override
    public void onClick(final DialogInterface dialog, final int which)
    {
        if (which == DialogInterface.BUTTON_POSITIVE) {
            final SharedPreferences p = getSharedPreferences();
            final SharedPreferences.Editor e = p.edit();
            e.putInt(getKey(), mColor);
            e.commit();
        }
    }

    @Override
    protected View onCreateDialogView()
    {
        /*
        final Context context = getContext();
        final Resources res = context.getResources();
        final int initialColor = getSharedPreferences().getInt(getKey(),
                Defaults.getColor(getKey()));

        final View root = LayoutInflater.from(context).inflate(
                R.layout.full_color_picker, null);

        final View preview = root.findViewById(R.id.preview);
        mPreviewDrawable = new GradientDrawable();
        // 2 pix more than color_picker_frame's radius
        // mPreviewDrawable.setCornerRadius(7);
        Drawable[] layers;

        layers = new Drawable[] { mPreviewDrawable,
                res.getDrawable(R.drawable.color_picker_frame), };
        preview.setBackgroundDrawable(new LayerDrawable(layers));

        mRedSeek = (SeekBar) root.findViewById(R.id.red);
        mGreenSeek = (SeekBar) root.findViewById(R.id.green);
        mBlueSeek = (SeekBar) root.findViewById(R.id.blue);
        final SeekBar alphaSeek = (SeekBar) root.findViewById(R.id.alpha);
        alphaSeek.setVisibility(View.GONE);

        mColor = initialColor;
        setupSeekBar(mRedSeek, R.string.red, Color.red(initialColor), res);
        setupSeekBar(mGreenSeek, R.string.green, Color.green(initialColor), res);
        setupSeekBar(mBlueSeek, R.string.blue, Color.blue(initialColor), res);

        mImage = (ImageView) root.findViewById(R.id.image);
        mImage.setVisibility(View.GONE);
        TransparentBitmapManager.instance().setFuntonImage(mImage, mColor, true);

        updatePreview(initialColor);

        return root;
        */
        return null;
    }

    @Override
    public void onProgressChanged(final SeekBar seekBar, final int progress,
            final boolean fromUser)
    {
        //TransparentBitmapManager.instance().setFuntonImage(mImage, mColor, true);
        //update();
    }

    @Override
    public void onStartTrackingTouch(final SeekBar seekBar)
    {
    }

    @Override
    public void onStopTrackingTouch(final SeekBar seekBar)
    {
    }

    private void setupSeekBar(final SeekBar seekBar, final int id,
            final int value, final Resources res)
    {
        /*seekBar.setProgressDrawable(new TextSeekBarDrawable(res, id,
                value < seekBar.getMax() / 2));*/
        seekBar.setProgress(value);
        seekBar.setOnSeekBarChangeListener(this);
    }

    private void update()
    {
        mColor = Color.rgb(mRedSeek.getProgress(), mGreenSeek.getProgress(),
                mBlueSeek.getProgress());
        updatePreview(mColor);
    }

    private void updatePreview(final int color)
    {
        ((GradientDrawable) mPreviewDrawable).setColor(color);
        mPreviewDrawable.invalidateSelf();
    }

}




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