2014-04-17 131 views
0

我的styles.xml中有一个切换按钮正在使用的样式。不过,我想切换按钮到fill_parent,但不能拉伸图像。我怎么能告诉它以这个背景图片为中心而不是拉伸它?我试图增加用户可以点击的区域。Android XML样式

切换:

<ToggleButton 
    android:id="@+id/OtherToggle" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    style="@style/OtherToggle" /> 

风格:

<style name="OtherToggle"> 
    <item name="android:textOn">""</item> 
    <item name="android:textOff">""</item> 
    <item name="android:disabledAlpha">?android:attr/disabledAlpha</item> 
    <item name="android:background">@drawable/other_toggle_bg</item> 
</style> 
+0

如果你想为中心的形象,从来没有成长的空间较大,但如果需要收缩(不改变纵横比)按钮中完全显示,我不认为在Android中有内置的方法。尽管你自己,你应该可以通过编程来完成。 – cybersam

回答

0

我假设你的意思是你要拉伸图像,但你要保持宽高比不变的?

如果是这样,你可以添加以下到您的风格:

<item name="android:scaleType">centerInside</item> 

See here的其他可能性,如果你想要的东西centerInside没有做。

+0

不,我不想伸展它,保持它原来的大小或更小的中心。 – jcaruso

+0

在上面看到我对你的问题的评论。 – cybersam

0

也许你可以使用图层列表作为ToggleButton的背景绘制?创建下面的XML文件,并在android:background属性使用它:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:id="@+android:id/background" 
     android:drawable="@android:color/transparent" /> 
<item> 
<bitmap android:src="@drawable/other_toggle_bg" 
     android:gravity="center" /> 
</item> 
</layer-list>