diff --git a/app/src/main/java/i2p/bote/android/widget/IconicsFloatingActionButton.java b/app/src/main/java/i2p/bote/android/widget/IconicsFloatingActionButton.java new file mode 100644 index 0000000..0c4c3f1 --- /dev/null +++ b/app/src/main/java/i2p/bote/android/widget/IconicsFloatingActionButton.java @@ -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); + } +} diff --git a/app/src/main/res/layout/fragment_list_contacts.xml b/app/src/main/res/layout/fragment_list_contacts.xml index a586011..4ba6b55 100644 --- a/app/src/main/res/layout/fragment_list_contacts.xml +++ b/app/src/main/res/layout/fragment_list_contacts.xml @@ -54,13 +54,16 @@ app:fab_icon="@drawable/ic_scan_qr_code_white_24dp" app:fab_title="@string/action_scan_qr_code"/> - + 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"/> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_list_emails.xml b/app/src/main/res/layout/fragment_list_emails.xml index 838b275..d27f19e 100644 --- a/app/src/main/res/layout/fragment_list_emails.xml +++ b/app/src/main/res/layout/fragment_list_emails.xml @@ -31,7 +31,7 @@ - + app:ifab_color="@android:color/white" + app:ifab_icon="gmd-create" + app:ifab_padding="3dp" + app:ifab_size="24dp"/> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_list_emails_with_refresh.xml b/app/src/main/res/layout/fragment_list_emails_with_refresh.xml index 8302068..faa8ea1 100644 --- a/app/src/main/res/layout/fragment_list_emails_with_refresh.xml +++ b/app/src/main/res/layout/fragment_list_emails_with_refresh.xml @@ -36,7 +36,7 @@ - + app:ifab_color="@android:color/white" + app:ifab_icon="gmd-create" + app:ifab_padding="3dp" + app:ifab_size="24dp"/> diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 601de83..f68ee48 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -1,5 +1,12 @@ + + + + + + +