Add background circle to play button
This commit is contained in:
parent
aabd677a52
commit
57992bad25
@ -114,9 +114,10 @@ my $DATA = << "EOF";
|
||||
<item name="overlay_background_color">\@color/overlay_background_light</item>
|
||||
<item name="overlay_foreground_color">\@color/overlay_foreground_light</item>
|
||||
<item name="float_color">\@color/material_grey_400</item>
|
||||
<item name="background_circle_color">\@color/material_grey_400</item>
|
||||
<item name="tabs_background">$this->{light}->{colorPrimary}</item>
|
||||
<item name="now_playing_marker">$this->{light}->{colorAccent}</item>
|
||||
<item name="controls_normal">\@color/material_grey_600</item>
|
||||
<item name="controls_normal">\@color/material_grey_900</item>
|
||||
<item name="controls_active">$this->{light}->{colorAccent}</item>
|
||||
<item name="android:colorAccent">$this->{light}->{colorAccent}</item>
|
||||
<item name="android:colorPrimary">$this->{light}->{colorPrimary}</item>
|
||||
@ -146,9 +147,10 @@ my $DATA = << "EOF";
|
||||
<item name="overlay_background_color">\@color/overlay_background_dark</item>
|
||||
<item name="overlay_foreground_color">\@color/overlay_foreground_dark</item>
|
||||
<item name="float_color">\@color/material_grey_900</item>
|
||||
<item name="background_circle_color">\@color/material_grey_700</item>
|
||||
<item name="tabs_background">$this->{dark}->{colorPrimary}</item>
|
||||
<item name="now_playing_marker">$this->{dark}->{colorAccent}</item>
|
||||
<item name="controls_normal">\@color/material_grey_600</item>
|
||||
<item name="controls_normal">\@color/material_grey_300</item>
|
||||
<item name="controls_active">$this->{dark}->{colorAccent}</item>
|
||||
<item name="android:colorAccent">$this->{dark}->{colorAccent}</item>
|
||||
<item name="android:colorPrimary">$this->{dark}->{colorPrimary}</item>
|
||||
|
@ -20,7 +20,8 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
-->
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:vib="http://schemas.android.com/apk/res-auto">
|
||||
<ch.blinkenlights.android.vanilla.VanillaImageButton
|
||||
android:id="@+id/shuffle"
|
||||
android:layout_height="fill_parent"
|
||||
@ -47,6 +48,7 @@ THE SOFTWARE.
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/play"
|
||||
vib:backgroundCircleColor="?background_circle_color"
|
||||
android:contentDescription="@string/play_pause" />
|
||||
<ch.blinkenlights.android.vanilla.VanillaImageButton
|
||||
android:id="@+id/next"
|
||||
|
@ -5,15 +5,12 @@
|
||||
<color name="material_grey_400">#bdbdbd</color>
|
||||
<color name="material_grey_500">#ffa3a3a3</color>
|
||||
<color name="material_grey_600">#ff757575</color>
|
||||
<color name="material_grey_700">#61616161</color>
|
||||
<color name="material_grey_800">#42424242</color>
|
||||
<color name="material_grey_900">#ff212121</color>
|
||||
<color name="button_material_light">#ffd6d7d7</color>
|
||||
<color name="button_material_dark">#ff5a595b</color>
|
||||
|
||||
<!-- Material design primary colors -->
|
||||
<color name="vanillaPrimary">#ff37474f</color>
|
||||
<color name="vanillaPrimaryDark">#ff263238</color>
|
||||
<color name="vanillaAccent">#ff3e677a</color>
|
||||
|
||||
<!-- library tabs -->
|
||||
<color name="tabs_active_indicator">@android:color/background_light</color>
|
||||
|
||||
|
@ -22,9 +22,10 @@
|
||||
<item name="overlay_background_color">@color/overlay_background_light</item>
|
||||
<item name="overlay_foreground_color">@color/overlay_foreground_light</item>
|
||||
<item name="float_color">@color/material_grey_400</item>
|
||||
<item name="background_circle_color">@color/material_grey_400</item>
|
||||
<item name="tabs_background">#FF0277BD</item>
|
||||
<item name="now_playing_marker">#FF03A9F4</item>
|
||||
<item name="controls_normal">@color/material_grey_600</item>
|
||||
<item name="controls_normal">@color/material_grey_900</item>
|
||||
<item name="controls_active">#FF03A9F4</item>
|
||||
<item name="android:colorAccent">#FF03A9F4</item>
|
||||
<item name="android:colorPrimary">#FF0277BD</item>
|
||||
@ -54,9 +55,10 @@
|
||||
<item name="overlay_background_color">@color/overlay_background_dark</item>
|
||||
<item name="overlay_foreground_color">@color/overlay_foreground_dark</item>
|
||||
<item name="float_color">@color/material_grey_900</item>
|
||||
<item name="background_circle_color">@color/material_grey_700</item>
|
||||
<item name="tabs_background">#FF0277BD</item>
|
||||
<item name="now_playing_marker">#FF03A9F4</item>
|
||||
<item name="controls_normal">@color/material_grey_600</item>
|
||||
<item name="controls_normal">@color/material_grey_300</item>
|
||||
<item name="controls_active">#FF03A9F4</item>
|
||||
<item name="android:colorAccent">#FF03A9F4</item>
|
||||
<item name="android:colorPrimary">#FF0277BD</item>
|
||||
|
@ -22,9 +22,10 @@
|
||||
<item name="overlay_background_color">@color/overlay_background_light</item>
|
||||
<item name="overlay_foreground_color">@color/overlay_foreground_light</item>
|
||||
<item name="float_color">@color/material_grey_400</item>
|
||||
<item name="background_circle_color">@color/material_grey_400</item>
|
||||
<item name="tabs_background">#ff212121</item>
|
||||
<item name="now_playing_marker">#ff212121</item>
|
||||
<item name="controls_normal">@color/material_grey_600</item>
|
||||
<item name="controls_normal">@color/material_grey_900</item>
|
||||
<item name="controls_active">#ff212121</item>
|
||||
<item name="android:colorAccent">#ff212121</item>
|
||||
<item name="android:colorPrimary">#ff212121</item>
|
||||
@ -54,9 +55,10 @@
|
||||
<item name="overlay_background_color">@color/overlay_background_dark</item>
|
||||
<item name="overlay_foreground_color">@color/overlay_foreground_dark</item>
|
||||
<item name="float_color">@color/material_grey_900</item>
|
||||
<item name="background_circle_color">@color/material_grey_700</item>
|
||||
<item name="tabs_background">#ff212121</item>
|
||||
<item name="now_playing_marker">#ffececec</item>
|
||||
<item name="controls_normal">@color/material_grey_600</item>
|
||||
<item name="controls_normal">@color/material_grey_300</item>
|
||||
<item name="controls_active">#ffececec</item>
|
||||
<item name="android:colorAccent">#ffececec</item>
|
||||
<item name="android:colorPrimary">#ff212121</item>
|
||||
|
@ -22,9 +22,10 @@
|
||||
<item name="overlay_background_color">@color/overlay_background_light</item>
|
||||
<item name="overlay_foreground_color">@color/overlay_foreground_light</item>
|
||||
<item name="float_color">@color/material_grey_400</item>
|
||||
<item name="background_circle_color">@color/material_grey_400</item>
|
||||
<item name="tabs_background">#FFE65100</item>
|
||||
<item name="now_playing_marker">#FFF57F17</item>
|
||||
<item name="controls_normal">@color/material_grey_600</item>
|
||||
<item name="controls_normal">@color/material_grey_900</item>
|
||||
<item name="controls_active">#FFF57F17</item>
|
||||
<item name="android:colorAccent">#FFF57F17</item>
|
||||
<item name="android:colorPrimary">#FFE65100</item>
|
||||
@ -54,9 +55,10 @@
|
||||
<item name="overlay_background_color">@color/overlay_background_dark</item>
|
||||
<item name="overlay_foreground_color">@color/overlay_foreground_dark</item>
|
||||
<item name="float_color">@color/material_grey_900</item>
|
||||
<item name="background_circle_color">@color/material_grey_700</item>
|
||||
<item name="tabs_background">#FFE65100</item>
|
||||
<item name="now_playing_marker">#FFF57F17</item>
|
||||
<item name="controls_normal">@color/material_grey_600</item>
|
||||
<item name="controls_normal">@color/material_grey_300</item>
|
||||
<item name="controls_active">#FFF57F17</item>
|
||||
<item name="android:colorAccent">#FFF57F17</item>
|
||||
<item name="android:colorPrimary">#FFE65100</item>
|
||||
|
@ -22,9 +22,10 @@
|
||||
<item name="overlay_background_color">@color/overlay_background_light</item>
|
||||
<item name="overlay_foreground_color">@color/overlay_foreground_light</item>
|
||||
<item name="float_color">@color/material_grey_400</item>
|
||||
<item name="background_circle_color">@color/material_grey_400</item>
|
||||
<item name="tabs_background">#ff37474f</item>
|
||||
<item name="now_playing_marker">#ff3e677a</item>
|
||||
<item name="controls_normal">@color/material_grey_600</item>
|
||||
<item name="controls_normal">@color/material_grey_900</item>
|
||||
<item name="controls_active">#ff3e677a</item>
|
||||
<item name="android:colorAccent">#ff3e677a</item>
|
||||
<item name="android:colorPrimary">#ff37474f</item>
|
||||
@ -54,9 +55,10 @@
|
||||
<item name="overlay_background_color">@color/overlay_background_dark</item>
|
||||
<item name="overlay_foreground_color">@color/overlay_foreground_dark</item>
|
||||
<item name="float_color">@color/material_grey_900</item>
|
||||
<item name="background_circle_color">@color/material_grey_700</item>
|
||||
<item name="tabs_background">#ff37474f</item>
|
||||
<item name="now_playing_marker">#ff3e677a</item>
|
||||
<item name="controls_normal">@color/material_grey_600</item>
|
||||
<item name="controls_normal">@color/material_grey_300</item>
|
||||
<item name="controls_active">#ff3e677a</item>
|
||||
<item name="android:colorAccent">#ff3e677a</item>
|
||||
<item name="android:colorPrimary">#ff37474f</item>
|
||||
|
@ -1,27 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- THIS FILE IS AUTOGENERATED BY generate-themes.pl - DO NOT TOUCH! -->
|
||||
<resources>
|
||||
<string-array name="theme_values">
|
||||
<item>0,#ff263238,#fff0f0f0,#ff37474f</item>
|
||||
<item>1,#ff263238,#ff2a2a2a,#ff37474f</item>
|
||||
<item>2,#ff090909,#fff0f0f0,#ff212121</item>
|
||||
<item>3,#ff090909,#ff2a2a2a,#ff212121</item>
|
||||
<item>4,#FFBF360C,#fff0f0f0,#FFE65100</item>
|
||||
<item>5,#FFBF360C,#ff2a2a2a,#FFE65100</item>
|
||||
<item>6,#FF01579B,#fff0f0f0,#FF0277BD</item>
|
||||
<item>7,#FF01579B,#ff2a2a2a,#FF0277BD</item>
|
||||
</string-array>
|
||||
<integer-array name="theme_category_vanillabase">
|
||||
<item>@style/VanillaBase</item>
|
||||
<item>@style/Dark.VanillaBase</item>
|
||||
<item>@style/Greyish.VanillaBase</item>
|
||||
<item>@style/Greyish.Dark.VanillaBase</item>
|
||||
<item>@style/Orange.VanillaBase</item>
|
||||
<item>@style/Orange.Dark.VanillaBase</item>
|
||||
<item>@style/Blue.VanillaBase</item>
|
||||
<item>@style/Blue.Dark.VanillaBase</item>
|
||||
</integer-array>
|
||||
|
||||
<string-array name="theme_entries">
|
||||
<item>Standard</item>
|
||||
<item>Dark.Standard</item>
|
||||
<item>Greyish</item>
|
||||
<item>Dark.Greyish</item>
|
||||
<item>Orange</item>
|
||||
<item>Dark.Orange</item>
|
||||
<item>Blue</item>
|
||||
<item>Dark.Blue</item>
|
||||
</string-array>
|
||||
<integer-array name="theme_category_library">
|
||||
<item>@style/Library</item>
|
||||
<item>@style/Dark.Library</item>
|
||||
<item>@style/Greyish.Library</item>
|
||||
<item>@style/Greyish.Dark.Library</item>
|
||||
<item>@style/Orange.Library</item>
|
||||
<item>@style/Orange.Dark.Library</item>
|
||||
<item>@style/Blue.Library</item>
|
||||
<item>@style/Blue.Dark.Library</item>
|
||||
</integer-array>
|
||||
|
||||
<integer-array name="theme_category_popupdialog">
|
||||
<item>@style/PopupDialog</item>
|
||||
@ -56,26 +56,26 @@
|
||||
<item>@style/Blue.Dark.Playback</item>
|
||||
</integer-array>
|
||||
|
||||
<integer-array name="theme_category_library">
|
||||
<item>@style/Library</item>
|
||||
<item>@style/Dark.Library</item>
|
||||
<item>@style/Greyish.Library</item>
|
||||
<item>@style/Greyish.Dark.Library</item>
|
||||
<item>@style/Orange.Library</item>
|
||||
<item>@style/Orange.Dark.Library</item>
|
||||
<item>@style/Blue.Library</item>
|
||||
<item>@style/Blue.Dark.Library</item>
|
||||
</integer-array>
|
||||
<string-array name="theme_entries">
|
||||
<item>Standard</item>
|
||||
<item>Dark.Standard</item>
|
||||
<item>Greyish</item>
|
||||
<item>Dark.Greyish</item>
|
||||
<item>Orange</item>
|
||||
<item>Dark.Orange</item>
|
||||
<item>Blue</item>
|
||||
<item>Dark.Blue</item>
|
||||
</string-array>
|
||||
|
||||
<integer-array name="theme_category_vanillabase">
|
||||
<item>@style/VanillaBase</item>
|
||||
<item>@style/Dark.VanillaBase</item>
|
||||
<item>@style/Greyish.VanillaBase</item>
|
||||
<item>@style/Greyish.Dark.VanillaBase</item>
|
||||
<item>@style/Orange.VanillaBase</item>
|
||||
<item>@style/Orange.Dark.VanillaBase</item>
|
||||
<item>@style/Blue.VanillaBase</item>
|
||||
<item>@style/Blue.Dark.VanillaBase</item>
|
||||
</integer-array>
|
||||
<string-array name="theme_values">
|
||||
<item>0,#ff263238,#fff0f0f0,#ff37474f</item>
|
||||
<item>1,#ff263238,#ff2a2a2a,#ff37474f</item>
|
||||
<item>2,#ff090909,#fff0f0f0,#ff212121</item>
|
||||
<item>3,#ff090909,#ff2a2a2a,#ff212121</item>
|
||||
<item>4,#FFBF360C,#fff0f0f0,#FFE65100</item>
|
||||
<item>5,#FFBF360C,#ff2a2a2a,#FFE65100</item>
|
||||
<item>6,#FF01579B,#fff0f0f0,#FF0277BD</item>
|
||||
<item>7,#FF01579B,#ff2a2a2a,#FF0277BD</item>
|
||||
</string-array>
|
||||
|
||||
</resources>
|
||||
|
@ -6,4 +6,5 @@
|
||||
<attr name="now_playing_marker" format="color" />
|
||||
<attr name="controls_normal" format="color" />
|
||||
<attr name="controls_active" format="color" />
|
||||
<attr name="background_circle_color" format="color" />
|
||||
</resources>
|
||||
|
@ -26,6 +26,7 @@ THE SOFTWARE.
|
||||
<!-- color to use in full_playback text, set to bright_foreground_disabled_holo_light //-->
|
||||
<item name="overlay_foreground_color">#ffb2b2b2</item>
|
||||
<item name="float_color">#f222</item>
|
||||
<item name="background_circle_color">#f222</item>
|
||||
<item name="tabs_background">#ff1e1e1e</item>
|
||||
<item name="now_playing_marker">@android:color/holo_blue_dark</item>
|
||||
<item name="controls_normal">#fff5f5f5</item>
|
||||
|
6
res/values/vib_attrs.xml
Normal file
6
res/values/vib_attrs.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<resources>
|
||||
<declare-styleable name="VanillaImageButton">
|
||||
<attr name="backgroundCircleColor" format="color" />
|
||||
</declare-styleable>
|
||||
</resources>
|
@ -23,14 +23,17 @@ import android.content.res.TypedArray;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.TypedValue;
|
||||
import android.widget.ImageButton;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.ColorFilter;
|
||||
import android.graphics.Paint;
|
||||
|
||||
public class VanillaImageButton extends ImageButton {
|
||||
|
||||
private Context mContext;
|
||||
private static int mNormalTint;
|
||||
private static int mActiveTint;
|
||||
private int mCircleColor;
|
||||
|
||||
public VanillaImageButton(Context context) {
|
||||
this(context, null);
|
||||
@ -45,6 +48,13 @@ public class VanillaImageButton extends ImageButton {
|
||||
mContext = context;
|
||||
mNormalTint = fetchAttrColor(R.attr.controls_normal);
|
||||
mActiveTint = fetchAttrColor(R.attr.controls_active);
|
||||
|
||||
if (attrs != null) {
|
||||
TypedArray a = mContext.obtainStyledAttributes(attrs, R.styleable.VanillaImageButton, 0, 0);
|
||||
mCircleColor = a.getColor(R.styleable.VanillaImageButton_backgroundCircleColor, 0);
|
||||
a.recycle();
|
||||
}
|
||||
|
||||
updateImageTint(-1);
|
||||
}
|
||||
|
||||
@ -54,6 +64,22 @@ public class VanillaImageButton extends ImageButton {
|
||||
this.updateImageTint(resId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(Canvas canvas) {
|
||||
if (mCircleColor != 0) {
|
||||
// Draw a circle on the background, but only
|
||||
// if the color is set.
|
||||
final int x = getWidth() / 2;
|
||||
final int y = getHeight() / 2;
|
||||
final float r = (x > y ? y : x);
|
||||
Paint paint = new Paint();
|
||||
paint.setColor(mCircleColor);
|
||||
paint.setAntiAlias(true);
|
||||
canvas.drawCircle(x, y, r*0.90f, paint);
|
||||
}
|
||||
super.onDraw(canvas);
|
||||
}
|
||||
|
||||
private void updateImageTint(int resHint) {
|
||||
int filterColor = mNormalTint;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user