2013-04-12 62 views
2

此ImageButton是可点击的。我需要在没有拉伸的情况下在中心呈现此图标。有什么方法可以添加宽度和高度或属性?请给我一个主意。由于图像按照宽度和高度在图像按钮中拉伸

<ImageButton 
    android:layout_width="60dp" 
    android:layout_height="wrap_content" 
    android:background="@drawable/usercalltab"/> 

usercalltab.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
      <item> 
       <shape android:shape="rectangle" > 
        <solid android:color="#ffdbab" /> 
       </shape> 
      </item> 
      <item> 
       <bitmap android:src="@drawable/search"/> 
      </item> 
     </layer-list> 
    </item> 
    <item> 
     <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
      <item> 
       <bitmap android:src="@drawable/callme"/> 
      </item> 
     </layer-list> 
     </item> 
</selector> 

enter image description here

+0

你有没有试过填充选项? – alicanbatur

+0

背景是为你的背景按钮。作为背景,它应该延伸到整个按钮的下方。使用src和scaleType代替(另外,阅读文档,imageButton扩展ImageView,因此它具有所有相同的方法和属性) – njzk2

+0

而不是后台使用android:src并使用android:scaleType来缩放或合适图像。 –

回答

2

我觉得你应该把它分割成背景和前景图像。它更干净,可重复使用。

如果你想实现它没有这样做,你可以试试这个:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <layer-list> 
      <item> 
       <shape android:shape="rectangle"> 
        <solid android:color="#ffdbab" /> 
       </shape> 
      </item> 
      <item> 
       <bitmap android:src="@drawable/search" android:gravity="center" /> 
      </item> 
     </layer-list> 
    </item> 
    <item> 
     <layer-list> 
      <item> 
       <shape android:shape="rectangle"> 
        <solid android:color="@android:color/transparent" /> 
       </shape> 
      </item> 
      <item> 
       <bitmap android:src="@drawable/callme" android:gravity="center" /> 
      </item> 
     </layer-list> 
    </item> 
</selector> 
+0

工作完美,非常感谢。 –

4

尝试这样的:

<ImageButton 
android:layout_width="60dp" 
android:layout_height="wrap_content" 
android:src="@drawable/usercalltab" 
android:scaleType="centerInside" 
/> 

也许android:scaleType="center"

其中之一应该是你在找什么,我认为