【问题标题】:ImageButton in Android homescreen widgetAndroid 主屏幕小部件中的 ImageButton
【发布时间】:2011-06-06 05:01:02
【问题描述】:

我有一个带有图像按钮的主屏幕小部件。我的按钮正在处理待处理的意图,但我似乎不知道如何在按下按钮时更改按钮图像。

我尝试使用选择器,它适用于我的小部件测试活动,但不适用于远程视图。

如何在主屏幕小部件中实现此功能?

【问题讨论】:

  • 嗨乔希,你有没有办法让这个新闻状态保持不变?谢谢

标签: android widget selector imagebutton homescreen


【解决方案1】:

您可以在远程视图中设置不同的图像。

remoteView.setInt(R.id.buttonimg, "setImageResource", R.drawable.button_on);

【讨论】:

    【解决方案2】:

    我能够通过将选择器移动到它自己的 XML 文件中并放入 res/drawable 然后将该 xml 文件作为我在 app-widget 布局 xml 中的图像按钮的资源引用来使其工作。

    buttonimg.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item
     android:state_pressed="false"
     android:drawable="@drawable/button_off" />
    <item
     android:state_pressed="true"
     android:drawable="@drawable/button_on" />
    <item  
     android:drawable="@drawable/button_off" />
    </selector>
    

    widget_layout.xml

    <ImageButton
    android:id="@+id/buttonimg"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_x="0px"
    android:layout_y="2px"
    android:clickable="true"
    android:src="@drawable/button"
    >
    

    不过,我现在有一个不同的问题。选择器只允许我更改图像 onPress。发布时,图像变回 >:-(

    如何在按下时更改图像状态并保持该状态直到下一次按下(如 ToggleButton)?

    【讨论】:

    • 这就是选择器应该做的事情。释放按钮后,您必须以编程方式更改图像...看看上面的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多