android - 设置 Button 状态并在 onClick 后保持

标签 android button

我不确定这是否可能。我有这个按钮:

<Button 
android:id="@+id/b1" 
android:layout_width="wrap_content" 
android:layout_height="45px"
android:drawableTop="@drawable/buttontv"
android:layout_weight="1"
android:background="@null"
android:textColor="#ffffff"
android:textSize="9px"
android:text="TV"/>

这个按钮有这个项目 xml:

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

在我的应用程序中,我在单击按钮时使用此代码:

            OnClickListener b1Listener = new OnClickListener(){             
                    @Override
                    public void onClick(View v) {   loadUrl("http://example.org/"); v.setPressed(true); }
            };
            Button b1 = (Button) findViewById(R.id.b1);
            b1.setOnClickListener(b1Listener);

当我按下按钮时,我希望 drawableTop 设置为具有 @drawable/tv_pressed 属性值的项目之一 - 并保持在那里(如“这是当前 Activity 的按钮”)。

我尝试在 onClick 函数中添加 v.setPressed(true)(因为这是我在 Google 上所能找到的所有内容),但是没有用。

这能做到吗?还是有更好的替代方案来替代我想要完成的目标?

最佳答案

如果您需要一个按下并保持 Activity 状态的按钮,请使用 ToggleButton

关于android - 设置 Button 状态并在 onClick 后保持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5080424/

相关文章:

安卓 Activity : ACTION_SEND

IE中两行的html输入按钮

css - 将自动播放添加到 css/html 幻灯片,这可能吗?

IOS UITableView "Delete"按钮不出现

jquery - 如何将悬停按钮添加到链接

android - 在 Android 中使用自定义语言环境扩充 View

Android 警报对话框不会关闭

android - 如果通过 CMD 打开,模拟器只有互联网连接

android - 如何从 AOSP 创建定制的 Android 系统镜像?

android - 使用 Android 应用程序运行脚本