package com.tutsplus.palette;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.graphics.Palette;
import android.view.View;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private ListView mListView;
private SwatchAdapter mAdapter;
private TextView mVibrantTextView;
private TextView mLightVibrantTextView;
private TextView mDarkVibrantTextView;
private TextView mMutedTextView;
private TextView mLightMutedTextView;
private TextView mDarkMutedTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView( R.layout.activity_main );
initViews();
mAdapter = new SwatchAdapter( this );
mListView.setAdapter( mAdapter );
Bitmap bitmap = BitmapFactory.decodeResource( getResources(), R.drawable.union_station );
Palette.from( bitmap ).generate( new Palette.PaletteAsyncListener() {
@Override
public void onGenerated( Palette palette ) {
setViewSwatch( mVibrantTextView, palette.getVibrantSwatch() );
setViewSwatch( mLightVibrantTextView, palette.getLightVibrantSwatch() );
setViewSwatch( mDarkVibrantTextView, palette.getDarkVibrantSwatch() );
setViewSwatch( mMutedTextView, palette.getMutedSwatch() );
setViewSwatch( mLightMutedTextView, palette.getLightMutedSwatch() );
setViewSwatch( mDarkMutedTextView, palette.getDarkMutedSwatch() );
for( Palette.Swatch swatch : palette.getSwatches() ) {
mAdapter.add(swatch);
}
mAdapter.sortSwatches();
mAdapter.notifyDataSetChanged();
}
});
}
public void setViewSwatch( TextView view, Palette.Swatch swatch ) {
if( swatch != null ) {
view.setTextColor( swatch.getTitleTextColor() );
view.setBackgroundColor( swatch.getRgb() );
view.setVisibility( View.VISIBLE );
} else {
view.setVisibility( View.GONE );
}
}
private void initViews() {
mListView = (ListView) findViewById( R.id.list );
mVibrantTextView = (TextView) findViewById( R.id.vibrant );
mLightVibrantTextView = (TextView) findViewById( R.id.light_vibrant );
mDarkVibrantTextView = (TextView) findViewById( R.id.dark_vibrant );
mMutedTextView = (TextView) findViewById( R.id.muted );
mLightMutedTextView = (TextView) findViewById( R.id.light_muted );
mDarkMutedTextView = (TextView) findViewById( R.id.dark_muted );
}
}