如何使用非常小的按钮 (24dp) android

How to use very small size button (24dp) android

我正在设计一个食物订购页面,所以我需要使用小按钮在 cart.The 上添加食物("+" "-").

我试过了

android:minWidth="0dp"
android:minHeight="0dp"
style="?android:attr/negativeButtonText"

<android.support.design.button.MaterialButton
                android:id="@+id/incrementButtton"
                style="?android:attr/buttonStyleSmall"
                android:layout_width="24dp"
                android:layout_height="24dp"
                android:layout_gravity="center_vertical"
                android:gravity="center"
                android:minWidth="0dp"
                android:minHeight="0dp"
                android:text="+"
                android:textColor="@color/ash"
                android:textSize="@dimen/fm_food_price_text_size" />

我想知道如何设置按钮 24dp 并显示“+”文本。如下图所示。 在此图像中,我使用了 textView,因此文本是可见的。我想要这个,使用按钮。

试试这个方法。这样效率更高

 <android.support.constraint.ConstraintLayout
            android:layout_width="@dimen/_dp_85"
            android:layout_height="@dimen/_dp_35"
            android:id="@+id/quantityviewer"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="@+id/productName"
            android:background="@drawable/quantity"
            app:layout_constraintBottom_toBottomOf="@+id/productName">

        <TextView
                android:textColor="@color/black"
                android:text="@string/_1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/quantity"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/increase"
                app:layout_constraintStart_toEndOf="@+id/decrease"
        />
        <ImageView
                app:layout_constraintStart_toStartOf="@id/quantityviewer"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/decrease"
                app:layout_constraintEnd_toStartOf="@id/quantity"
                android:src="@drawable/ic_minus"
                app:layout_constraintTop_toTopOf="@id/quantityviewer"
                app:layout_constraintBottom_toBottomOf="@id/quantityviewer"
                android:contentDescription="@string/todo"
        />
        <ImageView
                app:layout_constraintEnd_toEndOf="@id/quantityviewer"
                android:layout_width="wrap_content"
                android:src="@drawable/ic_plus"
                android:layout_height="wrap_content"
                android:id="@+id/increase"
                app:layout_constraintTop_toTopOf="@id/quantityviewer"
                app:layout_constraintBottom_toBottomOf="@id/quantityviewer"
                android:contentDescription="@string/todo" app:layout_constraintStart_toEndOf="@+id/quantity"
        />

    </android.support.constraint.ConstraintLayout>

quantitiy.xml(布局形状)

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listview_background_shape">

    <corners android:radius="@dimen/_dp_5" />
    <stroke
            android:width="@dimen/_dp_1"
            android:color="@color/quantitystokecolor" />
</shape>

我已经通过使用 ImageButton 而不是按钮来解决了。

<ImageButton
                android:id="@+id/incrementButtton"
                android:layout_width="24dp"
                android:layout_height="24dp"
                android:padding="8dp"
                android:layout_gravity="center"
                android:gravity="center"
                android:background="?attr/selectableItemBackgroundBorderless"
                android:src="@drawable/ic_minus_symbol"
                android:scaleType="centerInside"
             />

我使用的连锁反应

android:background="?attr/selectableItemBackgroundBorderless"

这对我有用。通过使我的图标 drwableLeft 并将其填充到左侧,您可以将其居中。您可以根据需要减少它。

<com.google.android.material.button.MaterialButton
    android:layout_width="36dp"
    android:layout_height="36dp"
    android:background="@drawable/custom_small_button_bg"
    android:drawableLeft="@drawable/ic_minus"
    android:paddingStart="6dp"
    android:paddingLeft="6dp"
    app:backgroundTint="@null"/>