package com.marshalchen.common.demoofui.materialdesigndemo; import com.gc.materialdesign.views.ButtonFloatSmall; import com.gc.materialdesign.views.LayoutRipple; import com.gc.materialdesign.widgets.ColorSelector; import com.gc.materialdesign.widgets.ColorSelector.OnColorSelectedListener; import com.marshalchen.common.commonUtils.basicUtils.BasicUtils; import com.marshalchen.common.demoofui.HowToUseActivity; import com.marshalchen.common.demoofui.R; import com.marshalchen.common.demoofui.swipelayoutdemo.GridViewExample; import com.marshalchen.common.demoofui.swipelayoutdemo.ListViewExample; import com.marshalchen.common.demoofui.swipelayoutdemo.NestedExample; import com.nineoldandroids.view.ViewHelper; import android.annotation.SuppressLint; import android.annotation.TargetApi; import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.os.Build; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.Window; import android.view.View.OnClickListener; public class MaterialDesignActivity extends Activity implements OnColorSelectedListener { int backgroundColor = Color.parseColor("#1E88E5"); ButtonFloatSmall buttonSelectColor; @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE); super.onCreate(savedInstanceState); setContentView(R.layout.material_design_activity_main); buttonSelectColor = (ButtonFloatSmall) findViewById(R.id.buttonColorSelector); buttonSelectColor.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { ColorSelector colorSelector = new ColorSelector(MaterialDesignActivity.this, backgroundColor, MaterialDesignActivity.this); colorSelector.show(); } }); LayoutRipple layoutRipple = (LayoutRipple) findViewById(R.id.itemButtons); setOriginRiple(layoutRipple); layoutRipple.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(MaterialDesignActivity.this, ButtonsActivity.class); intent.putExtra("BACKGROUND", backgroundColor); startActivity(intent); } }); layoutRipple = (LayoutRipple) findViewById(R.id.itemSwitches); setOriginRiple(layoutRipple); layoutRipple.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(MaterialDesignActivity.this, SwitchActivity.class); intent.putExtra("BACKGROUND", backgroundColor); startActivity(intent); } }); layoutRipple = (LayoutRipple) findViewById(R.id.itemProgress); setOriginRiple(layoutRipple); layoutRipple.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(MaterialDesignActivity.this, ProgressActivity.class); intent.putExtra("BACKGROUND", backgroundColor); startActivity(intent); } }); layoutRipple = (LayoutRipple) findViewById(R.id.itemWidgets); setOriginRiple(layoutRipple); layoutRipple.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(MaterialDesignActivity.this, WidgetActivity.class); intent.putExtra("BACKGROUND", backgroundColor); startActivity(intent); } }); } private void setOriginRiple(final LayoutRipple layoutRipple) { layoutRipple.post(new Runnable() { @Override public void run() { View v = layoutRipple.getChildAt(0); layoutRipple.setxRippleOrigin(ViewHelper.getX(v) + v.getWidth() / 2); layoutRipple.setyRippleOrigin(ViewHelper.getY(v) + v.getHeight() / 2); layoutRipple.setRippleColor(Color.parseColor("#1E88E5")); layoutRipple.setRippleSpeed(30); } }); } @Override public void onColorSelected(int color) { backgroundColor = color; buttonSelectColor.setBackgroundColor(color); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_how_to_use, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.howToUse) { BasicUtils.sendIntent(this, HowToUseActivity.class, "data", "MaterialDesignActivity"); return true; } return super.onOptionsItemSelected(item); } }