用作图像按钮的切换按钮
Toggle Button acting as an Image Button
我需要一个具有图像和背景颜色的切换按钮。目前,我的切换按钮只有一个图像,没有背景颜色。这是它的代码
<ToggleButton
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:layout_weight="1.0"
android:layout_margin="5dp"
android:onClick="onToggleClicked"
android:textSize="0sp"
android:checked="false"
android:background="@drawable/soundfocuslone1"/>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
<bitmap android:src="@drawable/soundonlone1"
android:gravity="center"/>
</item>
<item android:state_pressed="true">
<bitmap android:src="@drawable/soundfocuslone1"
android:gravity="center" />
</item>
<item android:state_checked="false">
<bitmap android:src="@drawable/soundofflone1"/>
</item>
</selector>
是否可以在切换按钮上设置两个背景?我想要背景颜色以及上面的图像。如果没有,是否有一种简单的方法可以使图像按钮的行为像切换按钮一样?将图像按钮用作切换按钮可能会更容易,因为图像不会在切换按钮上缩放。谢谢,我将不胜感激所有答复。
首先你在你的 xml 文件中写:
<ToggleButton
android:id="@+id/tgTextReader"
android:layout_width="60dp"
android:layout_height="36dp"
android:background="@drawable/bw_toggle_on_selector"
android:focusable="false"
android:focusableInTouchMode="false"
android:textOff=""
android:textOn="" />
然后在 res/ 中创建文件夹
可绘制文件夹
写入 xml 文件名是 bw_toggle_on_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When selected, use grey -->
<item android:drawable="@drawable/a"
android:state_checked="true" />
<!-- When not selected, use white-->
<item android:drawable="@drawable/b"
android:state_checked="false"/>
</selector>
此文件保存在可绘制文件夹中。
并在 res /
中创建一个新文件夹
可绘制的nodpi
两个图像保留在那里。比如图片a,图片b。
啤酒花工作成功。谢谢
实际上 ToggleButton 具有 "android:button" 属性。因此,您可以使用 "android:button" 属性作为选择器,并使用 "android:background" 为 ToggleButton.But 使用切换按钮提供背景颜色,我们可以获得重力问题,因此您可以使用复选框而不是切换按钮.
<CheckBox
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:layout_weight="1.0"
android:layout_margin="5dp"
android:onClick="onToggleClicked"
android:textSize="0sp"
android:checked="false"
android:padding="5dp"
android:button="@drawable/soundfocuslone1"
android:background="ur_background_color_code or drawable"/>
如果你不想把图片放在中间,用它来做背景。
1。把这个放在你的切换按钮 - android:background="@drawable/bw_toggle_on_selector"
2。在名为 "bw_toggle_on_selector" 的 drawable 文件夹中创建一个 XML 并将以下代码粘贴到其中 -
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners
android:radius="14dp"
/>
<gradient
android:angle="45"
android:centerX="35%"
android:centerColor="#7995A8"
android:startColor="#E8E8E8"
android:endColor="#000000"
android:type="linear"
/>
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp"
/>
<size
android:width="270dp"
android:height="60dp"
/>
<stroke
android:width="3dp"
android:color="#878787"
/>
</shape>
3 .使用 android:drawableLeft 设置背景图片。
如果您想将图像放在中心,请使用此代码(它涵盖了包括背景图像在内的所有内容)。
<?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>
<bitmap
android:gravity="center"
android:src="@drawable/ic_stop"
/>
</item>
<item>
<shape>
<gradient
android:angle="270"
android:endColor="#a0e0b071"
android:startColor="#a0a67637" />
<stroke
android:width="1dp"
android:color="#5c3708" />
<corners
android:radius="5dp" />
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
</shape>
</item>
</layer-list>
</item>
<item
android:state_enabled="true">
<layer-list>
<item>
<bitmap
android:gravity="center"
android:src="@drawable/ic_back"
/>
</item>
<item>
<shape
android:shape="rectangle">
<gradient
android:angle="270"
android:endColor="#a0a67637"
android:startColor="#a0e0b071" />
<stroke
android:width="1dp"
android:color="#5c3708" />
<corners
android:radius="5dp" />
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
</shape>
</item>
</layer-list>
</item>
</selector>
** 一些技巧 **
*单击时更改按钮文本
1。在 Drawable 文件夹中创建一个名为 "text_color.xml"
的 XML 文件
在其中粘贴以下代码-
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:color="#000000" />
<item
android:state_pressed="false"
android:color="#01DFD7" />
</selector>
2。将其放入您的按钮中以定义 XML
android:textColor="@drawable/text_color"
*调整图像大小的更快方法?
使用this tool或Androidasset studio(google它)
*如何为我的按钮制作自定义背景?
尝试this online tool:)
我需要一个具有图像和背景颜色的切换按钮。目前,我的切换按钮只有一个图像,没有背景颜色。这是它的代码
<ToggleButton
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:layout_weight="1.0"
android:layout_margin="5dp"
android:onClick="onToggleClicked"
android:textSize="0sp"
android:checked="false"
android:background="@drawable/soundfocuslone1"/>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
<bitmap android:src="@drawable/soundonlone1"
android:gravity="center"/>
</item>
<item android:state_pressed="true">
<bitmap android:src="@drawable/soundfocuslone1"
android:gravity="center" />
</item>
<item android:state_checked="false">
<bitmap android:src="@drawable/soundofflone1"/>
</item>
</selector>
是否可以在切换按钮上设置两个背景?我想要背景颜色以及上面的图像。如果没有,是否有一种简单的方法可以使图像按钮的行为像切换按钮一样?将图像按钮用作切换按钮可能会更容易,因为图像不会在切换按钮上缩放。谢谢,我将不胜感激所有答复。
首先你在你的 xml 文件中写:
<ToggleButton
android:id="@+id/tgTextReader"
android:layout_width="60dp"
android:layout_height="36dp"
android:background="@drawable/bw_toggle_on_selector"
android:focusable="false"
android:focusableInTouchMode="false"
android:textOff=""
android:textOn="" />
然后在 res/ 中创建文件夹
可绘制文件夹
写入 xml 文件名是 bw_toggle_on_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When selected, use grey -->
<item android:drawable="@drawable/a"
android:state_checked="true" />
<!-- When not selected, use white-->
<item android:drawable="@drawable/b"
android:state_checked="false"/>
</selector>
此文件保存在可绘制文件夹中。
并在 res /
中创建一个新文件夹
可绘制的nodpi
两个图像保留在那里。比如图片a,图片b。
啤酒花工作成功。谢谢
实际上 ToggleButton 具有 "android:button" 属性。因此,您可以使用 "android:button" 属性作为选择器,并使用 "android:background" 为 ToggleButton.But 使用切换按钮提供背景颜色,我们可以获得重力问题,因此您可以使用复选框而不是切换按钮.
<CheckBox
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:layout_weight="1.0"
android:layout_margin="5dp"
android:onClick="onToggleClicked"
android:textSize="0sp"
android:checked="false"
android:padding="5dp"
android:button="@drawable/soundfocuslone1"
android:background="ur_background_color_code or drawable"/>
如果你不想把图片放在中间,用它来做背景。
1。把这个放在你的切换按钮 - android:background="@drawable/bw_toggle_on_selector"
2。在名为 "bw_toggle_on_selector" 的 drawable 文件夹中创建一个 XML 并将以下代码粘贴到其中 -
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners
android:radius="14dp"
/>
<gradient
android:angle="45"
android:centerX="35%"
android:centerColor="#7995A8"
android:startColor="#E8E8E8"
android:endColor="#000000"
android:type="linear"
/>
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp"
/>
<size
android:width="270dp"
android:height="60dp"
/>
<stroke
android:width="3dp"
android:color="#878787"
/>
</shape>
3 .使用 android:drawableLeft 设置背景图片。
如果您想将图像放在中心,请使用此代码(它涵盖了包括背景图像在内的所有内容)。
<?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>
<bitmap
android:gravity="center"
android:src="@drawable/ic_stop"
/>
</item>
<item>
<shape>
<gradient
android:angle="270"
android:endColor="#a0e0b071"
android:startColor="#a0a67637" />
<stroke
android:width="1dp"
android:color="#5c3708" />
<corners
android:radius="5dp" />
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
</shape>
</item>
</layer-list>
</item>
<item
android:state_enabled="true">
<layer-list>
<item>
<bitmap
android:gravity="center"
android:src="@drawable/ic_back"
/>
</item>
<item>
<shape
android:shape="rectangle">
<gradient
android:angle="270"
android:endColor="#a0a67637"
android:startColor="#a0e0b071" />
<stroke
android:width="1dp"
android:color="#5c3708" />
<corners
android:radius="5dp" />
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
</shape>
</item>
</layer-list>
</item>
</selector>
** 一些技巧 **
*单击时更改按钮文本
1。在 Drawable 文件夹中创建一个名为 "text_color.xml"
的 XML 文件在其中粘贴以下代码-
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:color="#000000" />
<item
android:state_pressed="false"
android:color="#01DFD7" />
</selector>
2。将其放入您的按钮中以定义 XML android:textColor="@drawable/text_color"
*调整图像大小的更快方法?
使用this tool或Androidasset studio(google它)
*如何为我的按钮制作自定义背景?
尝试this online tool:)