我正在设计一个食物订购页面,所以我需要使用小按钮在购物车上添加食物。问题是当我给宽度和高度设置24dp时,按钮的尺寸减小了,但我无法添加文本(“ +” “-”)。
我尝试过
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,因此文本可见。我想要通过使用按钮来实现。
答案 0 :(得分:1)
尝试这种方式。这样更有效
<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>
答案 1 :(得分:0)
我已经通过使用ImageButton而不是button解决了。
<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"
答案 2 :(得分:0)
这对我有用。通过使我的图标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"/>