时间:2010-07-23 13:39:01

标签: android imagebutton

9 个答案:

答案 0 :(得分:31)

android:background="@drawable/eye"

自动生效。

android:src="@drawable/eye"

是我用来调整图像大小和按钮宽度和高度的所有问题...

答案 1 :(得分:12)

答案 2 :(得分:4)

有点晚了,但我总是为了'迟到然后永远' 我今天也有同样的问题,发现它在这里解释: http://www.anddev.org/tutorial_buttons_with_niceley_stretched_background-t4369.html

答案 3 :(得分:3)

答案 4 :(得分:2)

尝试使用ScaleType centerInside。

ScaleTypes未在Eclipse Layout设计器中正确呈现,因此请在正在运行的应用程序中进行测试。

答案 5 :(得分:2)

您是否尝试过如下布局布局宽度和layout_height?由于您使用wrap_content进行设置,因此图像按钮会扩展为源图像的高度和宽度。

<blink>    
  <ImageButton>
    android:id="@+id/Button01"
    android:scaleType="fitXY" 
    android:layout_width="80dip"
    android:layout_height="80dip"
    android:cropToPadding="false"
    android:paddingLeft="10dp"
    android:src="@drawable/eye"> 
  </ImageButton>
</blink>

答案 6 :(得分:2)

您不必使用src属性

错误的方式(图像不适合按钮)

android:src="@drawable/myimage"

正确的方法是使用background atttribute

<ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:background="@drawable/skin" />

其中 skin 是xml

skin.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- <item android:drawable="@drawable/button_disabled" android:state_enabled="false"/> -->
    <item android:drawable="@drawable/button_pressed" android:state_pressed="true"/>
    <!-- <item android:drawable="@drawable/button_focused" android:state_focused="true"/> -->
    <item android:drawable="@drawable/button_normal"/>

</selector>

使用button_pressed.png和button_normal.png

这也可以帮助您创建具有4种按下,正常,禁用和聚焦状态的蒙皮按钮。 确保所有png的大小相同

答案 7 :(得分:1)

您还可以将背景设置为透明。所以按钮看起来很适合你的图标。

 <ImageButton
    android:id="@+id/Button01"
    android:scaleType="fitcenter" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:cropToPadding="false"
    android:paddingLeft="10dp"
    android:background="@android:color/transparent"
    android:src="@drawable/eye" />

答案 8 :(得分:0)

我认为您已经解决了这个问题,并且正如其他答案所示

android:background="@drawable/eye"

可用。但我更喜欢

android:src="@drawable/eye"
android:background="00000000" // transparent

并且效果也很好。(当然以前的代码将图像设置为背景,另一个将图像设置为图像)但是根据您选择的答案,我猜您的意思是9补丁。