Android 从选择器获取可拖动的切换按钮
我有一个ToggleButton,它使用选择器在两个图像(选中和未选中)之间进行选择Android 从选择器获取可拖动的切换按钮,android,Android,我有一个ToggleButton,它使用选择器在两个图像(选中和未选中)之间进行选择 是否有方法在代码中检索切换按钮的当前可绘制资源(选中/未选中)?我尝试使用ToggleButton.getBackground(),但是这似乎只返回默认的Drawable always。虽然我从未使用过它,但您可能想看看getDrawableState()。它可能有你想要的东西。虽然我从未玩过它,但你可能想看看getDrawableState()。它可能有你想要的东西。我几天前也遇到过同样的情况。。 但我通
是否有方法在代码中检索切换按钮的当前可绘制资源(选中/未选中)?我尝试使用ToggleButton.getBackground(),但是这似乎只返回默认的Drawable always。虽然我从未使用过它,但您可能想看看
getDrawableState()
。它可能有你想要的东西。虽然我从未玩过它,但你可能想看看getDrawableState()
。它可能有你想要的东西。我几天前也遇到过同样的情况。。
但我通过将其文本设置为“(开)”,并将其文本设置为“空白”来解决问题。。。
那个点不会出现在那个图像上(可能),因为我的没有。
效果很好
然后检查切换按钮上的文本。几天前我也遇到了同样的情况。。 但我通过将其文本设置为“(开)”,并将其文本设置为“空白”来解决问题。。。 那个点不会出现在那个图像上(可能),因为我的没有。 效果很好
然后检查切换按钮上的文本。我知道了怎么做,所以我回答了我自己的问题。:) 显然,可以使用ToggleButton.getBackground()检索当前可绘制文件。getCurrent()
希望能有帮助。我知道怎么做了,所以我回答了自己的问题。:) 显然,可以使用ToggleButton.getBackground()检索当前可绘制文件。getCurrent()
希望有帮助。我看了一下,但似乎不知道如何使用返回的int-array[]值来获取可绘制的图形。转储值显示以下3个值(对于处于选中状态的切换按钮),[0]=0x101009d,[1]=0x101009e,[2]=0x10100a0。根据R.attr的说法,它们是“state\u window\u focused”、“state\u enabled”、“state\u checked”,我看了一下,但似乎不知道如何使用返回的int数组[]值来获取可绘制的图形。转储值显示以下3个值(对于处于选中状态的切换按钮),[0]=0x101009d,[1]=0x101009e,[2]=0x10100a0。根据R.attr的说法是“state\u window\u focused”、“state\u enabled”、“state\u checked”。我已经在使用ToggleButton.isChecked()来确定当前状态,并使用它来指定正确的图像。但是,如果可能的话,我希望在不检查状态或其他属性的情况下获取当前图像。因为这“可能”会导致选择器使用的图像之间的断开连接(如果我忘记在任何一个位置更新)。嘿,找到了更好的方法。详细信息请查看下面的答案。我已经在使用ToggleButton.isChecked()确定当前状态,并使用它指定正确的图像。但是,如果可能的话,我希望在不检查状态或其他属性的情况下获取当前图像。因为这“可能”会导致选择器使用的图像之间的断开连接(如果我忘记在任何一个位置更新)。嘿,找到了更好的方法。查看下面的答案以了解详细信息。我确实在进行更多搜索时遇到了这个()问题,并且正在研究如何使用setTag()和getTag()。我确实在进行更多搜索时遇到了这个()问题,并且正在研究如何使用setTag()和getTag()。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true"
android:drawable="@drawable/img_piece1" /> <!-- pressed -->
<item android:drawable="@drawable/img_piece2" /> <!-- default/unchecked -->
</selector>