I added some icons on 4 buttons and they look so big next to the button. So how can I resize them? I used drawableLeft on the buttons to add icons.
The drawables are called deal, trophy, puzzle and megaphone. The icons are too big. The content_main.xml file:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/content_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="tr.k12.evrim.evrimnews.MainActivity" tools:showIn="@layout/activity_main"> <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/frameLayout" android:layout_alignParentTop="true" android:layout_alignParentStart="true"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Giriş Yap" android:onClick="SignIn" android:textStyle="bold" style="@style/Widget.AppCompat.Button.Colored"/> </LinearLayout> </FrameLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="400dp" android:layout_below="@id/frameLayout" android:orientation="vertical"> <Button android:text="Duyurular" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:layout_below="@+id/frameLayout" android:layout_centerHorizontal="true" android:layout_marginTop="13dp" android:id="@+id/button2" android:drawableLeft="@drawable/megaphone" /> <Button android:text="Kadromuz" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:layout_below="@+id/button2" android:layout_alignEnd="@+id/button2" android:layout_marginTop="13dp" android:id="@+id/button3" android:drawableLeft="@drawable/puzzle"/> <Button android:text="Başarılarımız" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:layout_marginTop="12dp" android:id="@+id/button5" android:drawableLeft="@drawable/trophy"/> <Button android:text="Ortaklarımız" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:layout_marginTop="12dp" android:id="@+id/button4" android:drawableLeft="@drawable/deal"/> </LinearLayout> </RelativeLayout>
Once you import svg file into Android Studio project, you are going to see <vector> resource then just change the size as you want by width , height attributes. viewportWidth and viewportHeight is to set size for drawing on virtual canvas.
Create a RelativeLayout "wrap_content" with the button image as the background or the button itself as the first element of the layout. Get a LinearLayout and set it to "layout_centerInParent" and "wrap_content". Then set your Drawable as an Imageview.
Layer list. A LayerDrawable is a drawable object that manages an array of other drawables. Each drawable in the list is drawn in the order of the list—the last drawable in the list is drawn on top.
Wrap your resource in a drawable that defines your desired size similar to:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/icon" android:width="@dimen/icon_size" android:height="@dimen/icon_size" /> </layer-list >
After that, use this drawable in your android:drawableLeft
tag
Just use Google's MaterialButtons: https://material.io/develop/android/components/buttons/
app:icon app:iconGravity app:iconPadding app:iconSize
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With