居中ToggleButton图像 – 没有文字

这是我的ToggleButton

 <ToggleButton android:id="@+id/bSmenuTopItems" android:layout_width="wrap_content" android:layout_height="48dp" android:background="@drawable/master_button_selector" android:drawableLeft="@drawable/flame_icon" /> 

我在这个图像中没有文字,我需要一个ToggleButton由于活动状态。

编辑:我想问题被误解了。 切换button( flame_icon )中有一个可绘制的flame_icon ,它被设置为background 。 我希望它被集中 。 没有文字,只是一个图像。 我需要一个切换button,因为我需要select一个活动状态。

只有drawableLeftdrawableRightdrawableTop等。我想要一个似乎不存在的drawebleMiddle。

Solutions Collecting From Web of "居中ToggleButton图像 – 没有文字"

我修改了答案来回答你修改的问题。

drawableLeftdrawableRightdrawableTopbutton,据我所知,控制相对于select器(a / k / a开/关)指示器放置图像的位置。 顶部将其放置在指示器的左上方,并分别放置在特定的一侧。 我不相信你可以删除select器指标,因为这将失去使用ToggleButton的目的。

我能够使用以下布局在2个ToggleButtons居中绘制2个绘图。 为了将图像居中在ToggleButton我使用了drawableTop ,使图像显示在select指示符上。 然后我设置textOntextOff是一个空string。 如果您没有设置此选项,则在select器指示符上方会显示默认开启/closures文本,并将绘图板推到一边。

 <LinearLayout android:id="@+id/buttonContainer" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal"> <ToggleButton android:id="@+id/bSmenuTopItems" android:layout_width="0" android:layout_weight="1" android:layout_height="75dp" android:checked="false" android:drawableTop="@drawable/flag" android:textOn="" android:textOff="" android:layout_gravity="center" android:textColor="#cecece" /> <ToggleButton android:id="@+id/bSmenuTopItems2" android:layout_width="0" android:layout_height="75dp" android:layout_weight="1" android:checked="false" android:textOn="" android:textOff="" android:drawableTop="@drawable/chaticon" android:layout_gravity="center" android:textColor="#cecece" /> </LinearLayout> 

所有你需要做的就是调整button的高度,使你的图标相对于你想要的select器图标。 我唯一的build议是控制你正在使用的图像的大小。 如果你可以调整图像相对于button的尺寸,把它放在drawableTop中应该自动居中。

我没有接受答案的运气,但也许我的情况是微妙的不同。 我见过的另一个解决scheme是使用drawablePadding属性将topDrawable推向button的中心。 这在一定程度上是有效的,但是假定button的尺寸是固定的,即使如此,也很难将图标居中。

这是我想出来的。 不要在button上指定图标。 相反,将button的背景设置为可绘制的图层列表,可以在需要的select器上绘制所需的图标,如下所示:

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/master_button_selector" /> <item> <bitmap android:src="@drawable/flame_icon" android:gravity="center" /> </item> </layer-list> 

我使用了Rarw描述的android:drawableTop ,但是由于我的button高而宽,它只是挂在顶部。 不是真正的中心…所以我摆弄paddingTop ,它可能在这里工作,我得到了什么:

  <ToggleButton android:id="@+id/togglebutton1" android:paddingTop="50dp" android:layout_width="150dp" android:layout_height="150dp" android:layout_gravity="center" android:layout_weight="1" android:drawableTop="@drawable/music_collection_small" android:textOn="" android:textOff="" /> 

我认为这将为我的目的

也许这会帮助你。 查看zapl解决scheme页面的底部。 PS不知道如何链接具体的答案,新在这里XD