Fancybuttons
Fancybuttons copied to clipboard
If I call "setIconResource" method to a button created by LayoutInflater, all layout information removed.
This is a screenshot captured before I call "setIconResouce" method.
The layout of the button is borken.
It's seems there is a bug somewhere, could you share with us your code
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 could you share a demo project or a snippet so I could check the issue.
<?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=""
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=""
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=""
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=""
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