Move FABs to Iconics

This commit is contained in:
str4d
2015-06-04 00:45:29 +00:00
parent baf862399c
commit e0e17d2cc9
5 changed files with 71 additions and 7 deletions

View File

@@ -0,0 +1,48 @@
package i2p.bote.android.widget;
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import com.mikepenz.iconics.IconicsDrawable;
import net.i2p.android.ext.floatingactionbutton.FloatingActionButton;
import i2p.bote.android.R;
public class IconicsFloatingActionButton extends FloatingActionButton {
public IconicsFloatingActionButton(Context context) {
this(context, null);
}
public IconicsFloatingActionButton(Context context, AttributeSet attrs) {
super(context, attrs);
init(context, attrs);
}
public IconicsFloatingActionButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init(context, attrs);
}
private void init(Context context, AttributeSet attrs) {
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.IconicsFloatingActionButton, 0, 0);
String iconName = a.getString(R.styleable.IconicsFloatingActionButton_ifab_icon);
if (iconName == null)
return;
IconicsDrawable icon = new IconicsDrawable(context, iconName);
int color = a.getColor(R.styleable.IconicsFloatingActionButton_ifab_color, 0);
if (color != 0)
icon.color(color);
int size = a.getDimensionPixelSize(R.styleable.IconicsFloatingActionButton_ifab_size, 0);
if (size != 0)
icon.sizePx(size);
int padding = a.getDimensionPixelSize(R.styleable.IconicsFloatingActionButton_ifab_padding, 0);
if (padding != 0)
icon.paddingPx(padding);
a.recycle();
setIconDrawable(icon);
}
}

View File

@@ -54,13 +54,16 @@
app:fab_icon="@drawable/ic_scan_qr_code_white_24dp"
app:fab_title="@string/action_scan_qr_code"/>
<net.i2p.android.ext.floatingactionbutton.FloatingActionButton
<i2p.bote.android.widget.IconicsFloatingActionButton
android:id="@+id/action_new_contact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:fab_colorNormal="@color/accent"
app:fab_colorPressed="@color/accent_dark"
app:fab_icon="@drawable/ic_person_add_white_24dp"
app:fab_title="@string/action_new_contact"/>
app:fab_title="@string/action_new_contact"
app:ifab_color="@android:color/white"
app:ifab_icon="gmd-person-add"
app:ifab_padding="1dp"
app:ifab_size="24dp"/>
</net.i2p.android.ext.floatingactionbutton.FloatingActionsMenu>
</RelativeLayout>

View File

@@ -31,7 +31,7 @@
</RelativeLayout>
</FrameLayout>
<net.i2p.android.ext.floatingactionbutton.FloatingActionButton
<i2p.bote.android.widget.IconicsFloatingActionButton
android:id="@+id/promoted_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -43,5 +43,8 @@
android:layout_marginRight="@dimen/listitem_horizontal_margin"
app:fab_colorNormal="@color/accent"
app:fab_colorPressed="@color/accent_dark"
app:fab_icon="@drawable/ic_create_white_24dp"/>
app:ifab_color="@android:color/white"
app:ifab_icon="gmd-create"
app:ifab_padding="3dp"
app:ifab_size="24dp"/>
</RelativeLayout>

View File

@@ -36,7 +36,7 @@
</RelativeLayout>
</FrameLayout>
<net.i2p.android.ext.floatingactionbutton.FloatingActionButton
<i2p.bote.android.widget.IconicsFloatingActionButton
android:id="@+id/promoted_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -48,7 +48,10 @@
android:layout_marginRight="@dimen/listitem_horizontal_margin"
app:fab_colorNormal="@color/accent"
app:fab_colorPressed="@color/accent_dark"
app:fab_icon="@drawable/ic_create_white_24dp"/>
app:ifab_color="@android:color/white"
app:ifab_icon="gmd-create"
app:ifab_padding="3dp"
app:ifab_size="24dp"/>
</RelativeLayout>
</i2p.bote.android.widget.MultiSwipeRefreshLayout>

View File

@@ -1,5 +1,12 @@
<resources>
<declare-styleable name="IconicsFloatingActionButton">
<attr name="ifab_icon" format="string"/>
<attr name="ifab_color" format="color"/>
<attr name="ifab_size" format="dimension"/>
<attr name="ifab_padding" format="dimension"/>
</declare-styleable>
<declare-styleable name="IconicsPreference">
<attr name="ip_icon" format="string"/>
<attr name="ip_color" format="color"/>