From 7ce9494f3800b643cae439b0631245fdc40ad75e Mon Sep 17 00:00:00 2001 From: Esa Firman Date: Sun, 11 Feb 2018 10:58:03 +0700 Subject: [PATCH] Support text style --- .../java/mehdi/sakout/fancybuttons/FancyButton.java | 12 +++++++----- fancybuttons_library/src/main/res/values/attrs.xml | 3 ++- .../sakout/fancybuttons/samples/XmlButtons.java | 13 +++++++++++-- .../src/main/res/layout/activity_xml_buttons.xml | 4 +++- 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/fancybuttons_library/src/main/java/mehdi/sakout/fancybuttons/FancyButton.java b/fancybuttons_library/src/main/java/mehdi/sakout/fancybuttons/FancyButton.java index d46e2b9..1912245 100644 --- a/fancybuttons_library/src/main/java/mehdi/sakout/fancybuttons/FancyButton.java +++ b/fancybuttons_library/src/main/java/mehdi/sakout/fancybuttons/FancyButton.java @@ -72,6 +72,7 @@ public class FancyButton extends LinearLayout { private Typeface mTextTypeFace = null; private Typeface mIconTypeFace = null; + private int textStyle; /** * Tags to identify icon position @@ -199,7 +200,7 @@ private TextView setupTextView() { textView.setTextSize(Utils.pxToSp(getContext(), mDefaultTextSize)); textView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); if (!isInEditMode() && !mUseSystemFont) { - textView.setTypeface(mTextTypeFace); //we can pass null in first arg + textView.setTypeface(mTextTypeFace, textStyle); //we can pass null in first arg } return textView; } @@ -335,6 +336,8 @@ private void initAttributesArray(TypedArray attrsArray) { mIconPosition = attrsArray.getInt(R.styleable.FancyButtonsAttrs_fb_iconPosition, mIconPosition); + textStyle = attrsArray.getInt(R.styleable.FancyButtonsAttrs_android_textStyle, Typeface.NORMAL); + String fontIcon = attrsArray.getString(R.styleable.FancyButtonsAttrs_fb_fontIconResource); String iconFontFamily = attrsArray.getString(R.styleable.FancyButtonsAttrs_fb_iconFont); @@ -502,11 +505,11 @@ private void initializeButtonContainer() { // https://github.com/medyo/Fancybuttons/issues/100 //this.setClickable(true); //this.setFocusable(true); - + if(mIconResource==null && mFontIcon==null && getPaddingLeft()==0 && getPaddingRight()==0 && getPaddingTop()==0 && getPaddingBottom()==0){ //fix for all version of androids and screens this.setPadding(20, 0, 20, 0); - } + } } /** @@ -801,8 +804,7 @@ public void setCustomTextFont(String fontName) { if (mTextView == null) initializeFancyButton(); else - mTextView.setTypeface(mTextTypeFace); - + mTextView.setTypeface(mTextTypeFace, textStyle); } /** diff --git a/fancybuttons_library/src/main/res/values/attrs.xml b/fancybuttons_library/src/main/res/values/attrs.xml index 995ec40..bac5af8 100644 --- a/fancybuttons_library/src/main/res/values/attrs.xml +++ b/fancybuttons_library/src/main/res/values/attrs.xml @@ -7,6 +7,7 @@ + @@ -61,7 +62,7 @@ - + diff --git a/samples/src/main/java/mehdi/sakout/fancybuttons/samples/XmlButtons.java b/samples/src/main/java/mehdi/sakout/fancybuttons/samples/XmlButtons.java index 22eccaa..98cfdfd 100644 --- a/samples/src/main/java/mehdi/sakout/fancybuttons/samples/XmlButtons.java +++ b/samples/src/main/java/mehdi/sakout/fancybuttons/samples/XmlButtons.java @@ -1,10 +1,11 @@ package mehdi.sakout.fancybuttons.samples; -import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.Menu; import android.view.MenuItem; +import android.view.View; +import android.widget.Toast; public class XmlButtons extends AppCompatActivity { @@ -13,12 +14,20 @@ public class XmlButtons extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_xml_buttons); + + findViewById(R.id.btComments).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Toast.makeText(view.getContext(), "Button clicked", Toast.LENGTH_SHORT) + .show(); + } + }); } @Override public boolean onCreateOptionsMenu(Menu menu) { - + // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.xml_buttons, menu); return true; diff --git a/samples/src/main/res/layout/activity_xml_buttons.xml b/samples/src/main/res/layout/activity_xml_buttons.xml index 0b4c169..49b5d0c 100644 --- a/samples/src/main/res/layout/activity_xml_buttons.xml +++ b/samples/src/main/res/layout/activity_xml_buttons.xml @@ -30,6 +30,7 @@ android:minLines="1" android:padding="0dp" android:text="comments" + android:textStyle="bold" fancy:fb_borderColor="#FF4D3121" fancy:fb_borderWidth="1dp" fancy:fb_defaultColor="#731010" @@ -46,6 +47,7 @@ android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:padding="10dp" + android:textStyle="italic" fancy:fb_borderColor="#FFFFFF" fancy:fb_borderWidth="1dp" fancy:fb_defaultColor="#3b5998" @@ -590,4 +592,4 @@ - \ No newline at end of file +