Android Open Source - IconicDroid-Gradle Simple Sample Activity






From Project

Back to project page IconicDroid-Gradle.

License

The source code is released under:

MIT License

If you think the Android project IconicDroid-Gradle 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 com.atermenji.android.iconicdroid.sample;
//from   w ww  .  j a  v  a 2  s.  c om
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.SeekBar.OnSeekBarChangeListener;

import com.atermenji.android.iconicdroid.IconicFontDrawable;
import com.atermenji.android.iconicdroid.icon.EntypoIcon;
import com.atermenji.android.iconicdroid.icon.EntypoSocialIcon;
import com.atermenji.android.iconicdroid.icon.FontAwesomeIcon;
import com.atermenji.android.iconicdroid.icon.Icon;
import com.atermenji.android.iconicdroid.icon.IconicIcon;

import static android.os.Build.VERSION.SDK_INT;
import static android.os.Build.VERSION_CODES.JELLY_BEAN;

public class SimpleSampleActivity extends Activity {

    private static final int ICON_PADDING_MAX = 500;
    private static final int ICON_CONTOUR_WIDTH = 10;

    private static final int BUTTON_ICON_CONTOUR_WIDTH = 5;
    private static final int BUTTON_ICON_INTRINSIC_WIDTH = 70;
    private static final int BUTTON_ICON_INTRINSIC_HEIGHT = 70;

    private static final String EXTRA_ICON = "extra_icon";

    private View mIconView;
    private Spinner mIconsSpinner;
    private SeekBar mPaddingSeekBar;
    private Button mChangeColorButton;
    private TextView mCurPaddingTextView;
    private CheckBox mDrawContourCheckBox;
    
    private IconicFontDrawable mIconicFontDrawable;
    private IconicFontDrawable mIconicFontDrawableButton;

    private Icon mIcon;

    private boolean firstSelect;

    public static Intent createIntent(final Context context, final Icon icon) {
        Intent intent = new Intent(context, SimpleSampleActivity.class);
        intent.putExtra(EXTRA_ICON, icon);
        return intent;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_simple_sample);

        mIconView = findViewById(R.id.view_icon);
        mIconsSpinner = (Spinner) findViewById(R.id.sp_icons);
        mPaddingSeekBar = (SeekBar) findViewById(R.id.sb_size);
        mChangeColorButton = (Button) findViewById(R.id.bt_change_color);
        mCurPaddingTextView = (TextView) findViewById(R.id.tv_size);
        mDrawContourCheckBox = (CheckBox) findViewById(R.id.cb_draw_stroke);

        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            mIcon = (Icon) extras.getSerializable(EXTRA_ICON);
        }

        initSimpleSample();
    }

    private void initSimpleSample() {
        mIconicFontDrawable = new IconicFontDrawable(this);
        mIconicFontDrawableButton = new IconicFontDrawable(this);

        mIconicFontDrawableButton.setIntrinsicWidth(BUTTON_ICON_INTRINSIC_WIDTH);
        mIconicFontDrawableButton.setIntrinsicHeight(BUTTON_ICON_INTRINSIC_HEIGHT);

        if (SDK_INT < JELLY_BEAN) {
            mIconView.setBackgroundDrawable(mIconicFontDrawable);
        } else {
            mIconView.setBackground(mIconicFontDrawable);
        }

        mChangeColorButton.setCompoundDrawablesWithIntrinsicBounds(
                mIconicFontDrawableButton, null, null, null);

        List<Icon> icons = new ArrayList<Icon>();
        icons.addAll(Arrays.asList(EntypoIcon.values()));
        icons.addAll(Arrays.asList(EntypoSocialIcon.values()));
        icons.addAll(Arrays.asList(FontAwesomeIcon.values()));
        icons.addAll(Arrays.asList(IconicIcon.values()));

        final ArrayAdapter<Icon> adapter =
                new ArrayAdapter<Icon>(this, android.R.layout.simple_spinner_item, icons);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        mIconsSpinner.setAdapter(adapter);

        if (mIcon != null) {
            mIconicFontDrawable.setIcon(mIcon);
            mIconicFontDrawableButton.setIcon(mIcon);
            mIconsSpinner.setSelection(adapter.getPosition(mIcon));
            firstSelect = true;
        }

        mIconsSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
                if (!firstSelect) {
                    Icon icon = adapter.getItem(pos);
                    mIconicFontDrawable.setIcon(icon);
                    mIconicFontDrawableButton.setIcon(icon);
                } else {
                    firstSelect = false;
                }
            }
            @Override
            public void onNothingSelected(AdapterView<?> parent) {
            }
        });

        mIconicFontDrawable.setIconColor(Utils.randomColor());
        mIconicFontDrawableButton.setIconColor(Utils.randomColor());

        mCurPaddingTextView.setText("Padding: " + 0);
        
        mPaddingSeekBar.setMax(ICON_PADDING_MAX);
        mPaddingSeekBar.setProgress(0);
        mPaddingSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
            }

            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                mIconicFontDrawable.setIconPadding(progress);
                mCurPaddingTextView.setText("Padding: " + progress);
            }
        });
        
        mChangeColorButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mIconicFontDrawable.setIconColor(Utils.randomColor());
                mIconicFontDrawable.setContourColor(Utils.randomColor());

                mIconicFontDrawableButton.setIconColor(Utils.randomColor());
                mIconicFontDrawableButton.setContourColor(Utils.randomColor());
            }
        });

        mDrawContourCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked) {
                    mIconicFontDrawable.setContour(Utils.randomColor(), ICON_CONTOUR_WIDTH);
                    mIconicFontDrawableButton.setContour(Utils.randomColor(), BUTTON_ICON_CONTOUR_WIDTH);
                }

                mIconicFontDrawable.drawContour(isChecked);
                mIconicFontDrawableButton.drawContour(isChecked);
            }
        });
    }
}




Java Source Code List

com.atermenji.android.iconicdroid.ApplicationTest.java
com.atermenji.android.iconicdroid.IconicFontDrawable.java
com.atermenji.android.iconicdroid.icon.EntypoIcon.java
com.atermenji.android.iconicdroid.icon.EntypoSocialIcon.java
com.atermenji.android.iconicdroid.icon.FontAwesomeIcon.java
com.atermenji.android.iconicdroid.icon.Icon.java
com.atermenji.android.iconicdroid.icon.IconicIcon.java
com.atermenji.android.iconicdroid.sample.ApplicationTest.java
com.atermenji.android.iconicdroid.sample.MainActivity.java
com.atermenji.android.iconicdroid.sample.SimpleSampleActivity.java
com.atermenji.android.iconicdroid.sample.TypefaceSampleActivity.java
com.atermenji.android.iconicdroid.sample.Utils.java
com.atermenji.android.iconicdroid.util.TypefaceManager.java