Fancybuttons icon indicating copy to clipboard operation
Fancybuttons copied to clipboard

If I call "setIconResource" method to a button created by LayoutInflater, all layout information removed.

Open jongidal opened this issue 8 years ago • 4 comments

This is a screenshot captured before I call "setIconResouce" method. device-2016-05-10-143605

The layout of the button is borken. screenshot_20160510-143433

jongidal avatar May 10 '16 05:05 jongidal

It's seems there is a bug somewhere, could you share with us your code

medyo avatar May 12 '16 10:05 medyo

Same problem applies to me. I'm using the FancyButton as the row of Recyclerview. And recyclerview has the GridLayoutManager and custom adapter. After adding below lines to adapter, the button which has iconResource as string, ruins the layout's harmony.

button.setIconResource("►"); button.setIconPosition(FancyButton.POSITION_LEFT); button.setFontIconSize(20);

brkckr avatar Jun 20 '16 13:06 brkckr

@brkckr could you share a demo project or a snippet so I could check the issue.

medyo avatar Jun 23 '16 12:06 medyo

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    xmlns:fancy="http://schemas.android.com/apk/res-auto"
    android:weightSum="6"
    android:orientation="vertical"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:layout_height="0dp">

        <mehdi.sakout.fancybuttons.FancyButton
            android:id="@+id/btn_spotify1"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            fancy:fb_borderColor="#FFFFFF"
            fancy:fb_borderWidth="1dp"
            fancy:fb_defaultColor="#7ab800"
            fancy:fb_focusColor="#9bd823"
            fancy:fb_fontIconResource="&#xf04b;"
            fancy:fb_iconPosition="left"
            fancy:fb_radius="30dp"
            fancy:fb_text="SHUFFLE PLAY"
            fancy:fb_textColor="#FFFFFF" />

        <mehdi.sakout.fancybuttons.FancyButton
            android:id="@+id/btn_spotify2"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            fancy:fb_borderColor="#FFFFFF"
            fancy:fb_borderWidth="1dp"
            fancy:fb_defaultColor="#7ab800"
            fancy:fb_focusColor="#9bd823"
            fancy:fb_fontIconResource="&#xf04b;"
            fancy:fb_iconPosition="left"
            fancy:fb_radius="30dp"
            fancy:fb_text="SHUFFLE PLAY"
            fancy:fb_textColor="#FFFFFF" />

        <mehdi.sakout.fancybuttons.FancyButton
            android:id="@+id/btn_spotify3"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            fancy:fb_borderColor="#FFFFFF"
            fancy:fb_borderWidth="1dp"
            fancy:fb_defaultColor="#7ab800"
            fancy:fb_focusColor="#9bd823"
            fancy:fb_fontIconResource="&#xf04b;"
            fancy:fb_iconPosition="left"
            fancy:fb_radius="30dp"
            fancy:fb_text="SHUFFLE PLAY"
            fancy:fb_textColor="#FFFFFF" />

        <mehdi.sakout.fancybuttons.FancyButton
            android:id="@+id/btn_spotify4"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            fancy:fb_borderColor="#FFFFFF"
            fancy:fb_borderWidth="1dp"
            fancy:fb_defaultColor="#7ab800"
            fancy:fb_focusColor="#9bd823"
            fancy:fb_fontIconResource="&#xf04b;"
            fancy:fb_iconPosition="left"
            fancy:fb_radius="30dp"
            fancy:fb_text="SHUFFLE PLAY"
            fancy:fb_textColor="#FFFFFF" />

        <mehdi.sakout.fancybuttons.FancyButton
            android:id="@+id/btn_spotify5"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            fancy:fb_borderColor="#FFFFFF"
            fancy:fb_borderWidth="1dp"
            fancy:fb_defaultColor="#7ab800"
            fancy:fb_focusColor="#9bd823"
            fancy:fb_radius="30dp"
            fancy:fb_text="SHUFFLE PLAY"
            fancy:fb_textColor="#FFFFFF" />

    </LinearLayout>

</LinearLayout>

        FancyButton button5 = (FancyButton) findViewById(R.id.btn_spotify5);
        button5.setIconResource("►");
        button5.setIconPosition(FancyButton.POSITION_LEFT);

It works like a champ when you set "IconResource" in xml side. But if you change it by programmatically, it ruins layout's harmony. Check the below images please. In addition, thank you for such a super library. @medyo seemsbug okay

brkckr avatar Jun 25 '16 08:06 brkckr