0

问候,我有一个问题。我正在研究带有图标的按钮。但是我的图标和按钮一样大。但我希望该图标应该小于按钮高度,以便它们之间有足够的空间,看起来很漂亮。这是我的按钮代码。

  <Button
        android:id="@+id/Button02"
        android:layout_width="127dp"
        android:layout_height="35dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:background="@layout/rbutton"
        android:drawableLeft="@drawable/things"
        android:text="OK"
        android:textSize="15dp" />

我很着急,所以请帮我解决问题。如果有任何标签或其他东西,请告诉我。谢谢

4

3 回答 3

1

您应该使用 ImageButton 而不是 Button,因为它为您提供了更好的选项来处理您需要的此类需求,例如:

   <ImageButton 
            android:id = "@+id/Button02"
            android:layout_width="127dp"
            android:layout_height="35dp"
            android:background="@drawable/icon_go_fb"
            android:scaleType="centerInside"        
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:background="@drawable/your_icon"/>

在 scaleType 标签中,您可以设置 7 个不同的值center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXY以获取不同的比例以使图像适合 imageButton。

编辑: 如果您正在寻找实现一个复杂的按钮,那么我会建议您实现一个布局并为其添加一个 onClickListener,我认为 RelativeLayout 是更好的解决方案,对于图像 + 文本:您可以有这样的东西:

<RelativeLayout 
            android:id = "@+id/wrapper1"
            android:layout_width="fill_parent"
            android:layout_height="65dip"
            android:orientation="horizontal">
            <ImageView
                android:id = "@+id/my_Iview"
                android:layout_width = "wrap_content"
                android:layout_height = "wrap_content"
                android:layout_centerVertical="true"
                android:src = "@drawable/my_image"
                />
            <TextView
                android:layout_width = "wrap_content"
                android:layout_height = "wrap_content"
                android:layout_toRightOf="@id/my_Iview"
                android:layout_centerVertical="true"
               android:layout_marginLeft = "8dip"
                android:text = "some_text"
                android:textColor="@android:color/white"/>
    </RelativeLayout>

然后在活动中为布局设置 onClickListener,就像为按钮设置一样简单。

祝你好运

于 2013-06-02T04:56:03.390 回答
0

简单地改变

 android:layout_height="wrap_content"

代替

 android:layout_height="35dp"

它看起来像这样

在此处输入图像描述

于 2013-06-02T04:53:13.317 回答
0

提到icon should be smaller than that of button height so that there will be some sufficient space between them,it looks pretty我认为你需要的只是填充。

例如:android:padding="15dp"

于 2013-06-02T05:07:59.193 回答