我正在尝试创建一个自定义按钮,其形状尽可能与Android默认按钮的形状相似。问题是,无论我减少多少高度,它都不会低于某个值:
自定义和默认按钮的图像
两个按钮的文字大小均为14sp。这里是我自定义按钮的xlm代码:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<padding
android:left="1dp"
android:top="1dp"
android:right="1dp"
android:bottom="1dp" />
<solid
android:color="@color/colorBtnActive" />
<corners android:radius="2dp" />
<size
android:height="16dp"/>
</shape>
所以即使我写<size android:height="50dp"/>
,按钮看起来也一样。
这是活动的xlm文件的一部分:
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_selector_selected"
android:text="custom"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:text="default"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@+id/button"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.501" />
我做错了什么?谢谢!
修改 所以根据你的建议我删除了size-tag.Sadly,按钮看起来仍然一样。但是,我注意到buttoms的大小相同,默认按钮看起来更小:screenshot
我怎样才能达到这个效果?
答案 0 :(得分:2)
当您将任何背景设置为按钮时,其高度将增加检查以下测试用例
试试这个你还需要将 android:background 设置为你的默认按钮
curl -XPUT -H "Content-Type: application/json" 'localhost:9200/customer/external/1?pretty' -d '{"name": "John Doe"}'
<强>输出强>
未将自定义背景设置为自定义按钮
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:background="@drawable/demo"
android:text="custom"
/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:background="@color/colorAccent"
android:text="default"
/>
</LinearLayout>
<强>输出强>
编辑 Android按钮具有默认填充。
检查按钮的默认尺寸
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:text="custom"
/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:background="@color/colorAccent"
android:text="default"
/>
</LinearLayout>
答案 1 :(得分:1)
Android按钮具有默认填充。
当我在按钮中设置android:background="@android:color/holo_blue_bright"
时。
它与自定义Button
相同。
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:text="default"
android:background="@android:color/holo_blue_bright"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@+id/button"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.501" />
<强>输出强>