android create small button

I have been trying to create small buttons for my app but even though the code compiles it just does not work

By this I mean that buttons still appear normal size. Adding the style has made no difference.


<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/GridLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="fill_horizontal"
    android:scaleType="center"
    android:columnCount="8"
    android:rowCount="5"
    android:orientation="horizontal"
    android:background="@color/pale"
    tools:context=".GridLayoutActivity">

<Button
        android:id="@+id/button1"
        android:background="@drawable/blue_button"
        style="@style/StopStartButton"/>

Open in new window



from styles.xml
<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
    </style>

    <style name="StopStartButton" parent="@android:style/Widget.Button.Small">
        <!-- Customize your theme here. -->
    </style>

</resources>

Open in new window


blue_button.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>
            <solid
                android:color="#449def" />
            <stroke
                android:width="1dp"
                android:color="#2f6699" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
    <item>
        <shape>
            <gradient
                android:startColor="#449def"
                android:endColor="#2f6699"
                android:angle="270" />
            <stroke
                android:width="1dp"
                android:color="#2f6699" />
            <corners
                android:radius="4dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>

Open in new window


I also tried
<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
    </style>

    <style name="StopStartButton" parent="@android:style/Widget.Button.Small">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">#ffffff</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_margin">3dp</item>
        <item name="android:textSize">12sp</item>
        <item name="android:textStyle">bold</item>
        <item name="android:shadowColor">#000000</item>
        <item name="android:shadowDx">1</item>
        <item name="android:shadowDy">1</item>
        <item name="android:shadowRadius">2</item>
    </style>

</resources>

Open in new window

LVL 1
jetbetAsked:
Who is Participating?
 
Chris HarteThaumaturgeCommented:
There is a small button style you can use in your code

Button blue_button = new Button(getActivity(), null, android.R.attr.buttonStyleSmall);

Open in new window


or in your layout

<Button
style="?android:attr/buttonStyleSmall"
0
 
jetbetAuthor Commented:
Thanks for your help, much appreciated.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.