我在按钮上添加了一个名为“star”的图像,图片出现了,但它使按钮变大了。
<Button
android:id="@+id/latest_photoB"
android:layout_height="87dp"
android:layout_weight="1"
android:background="#dcdcdc"
android:drawableTop="@drawable/star"
android:text="Latest Photos"
android:textSize="10dp"
android:textColor="#000000" />
我尝试了许多不同的方法,例如将其设为imagebutton
。
我尝试了android:background = image
,但没有任何效果。如何添加图片并保持相同的尺寸?
答案 0 :(得分:1)
如果您希望按钮具有图像背景,请执行以下操作:
<Button
android:id="@+id/latest_photoB"
android:layout_height="87dp"
android:layout_width="87dp"
android:background="@drawable/star"
android:text="Latest Photos"
android:textSize="10dp"
android:textColor="#000000" />
如果按钮应该是固定大小,则不需要layout_weight。此外,您尚未定义layout_weight
属性。我已将其设为87dp
。根据需要进行更改。
答案 1 :(得分:0)
也许您正在寻找android:setAdjustViewBounds = "false"
答案 2 :(得分:0)
按钮的默认背景可使用所谓的九补丁。它会根据按钮内容的大小调整自己的大小。按钮是一个特殊的TextView,它可以在其4个边的每一边都附有drawable(复合drawable)。 text和复合drawable构成Button的内容,这就是按钮调整大小的原因。
复合drawables是对视图层次结构的优化,因为它减少了一个非常常见场景的视图数量,但听起来你想要一个ImageView +一个按钮,其中ImageView的响应方式与点击时的按钮相同在它上面?
在这种情况下,将按钮包含在其中包含ImageView的布局中,并在布局上设置onClickListener而不是按钮
答案 3 :(得分:0)
摆脱:
android:layout_weight="1"
而是为按钮定义特定尺寸:
android:layout_height="87dp"
android:layout_width="50dp"
希望这有帮助。
答案 4 :(得分:0)
如果您不设置Button的高度和宽度,Android Button将包装内容(与图像大小相同)。试试这种方式
<Button
android:id="@+id/latest_photoB"
android:layout_height="87dp"
android:layout_width="87dp"
android:layout_weight="1"
android:background="@drawable/star"
android:text="Latest Photos"
android:textSize="10dp"
android:textColor="#000000" />