gpt4 book ai didi

android - 按下时按钮状态未按预期工作

转载 作者:搜寻专家 更新时间:2023-11-01 07:47:05 25 4
gpt4 key购买 nike

我有一个“喜欢”按钮,用户可以点击它来“喜欢”某些东西(类似于 Facebook)。

我需要让它在用户点赞后,按钮的文本颜色变为红色。

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:color="@color/red" />
<item
android:color="@color/normal" />
</selector>

按钮:

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Like"
android:textColor="@drawable/like_button" />

问题是,当我抬起手指时,文本颜色不会保持红色,只有当我将手指放在按钮上时,它才会变为红色。

我应该改变什么?

最佳答案

根据你的代码你具体使用:

android:state_pressed="true"

这基本上意味着它只有在按下时才会显示红色,因此您得到的结果

来源:https://developer.android.com/guide/topics/resources/color-list-resource.html

您需要在您的 Activity (Java) 中包含

Button likeButton = (Button) findViewById(R.id.like_button);
likeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(likeButton.isSelected())
likeButton.setSelected(false);
else
likeButton.setSelected(true);
}
});

您需要在您的布局中包含 (XML)

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/red" android:state_selected="true"/>
<item android:color="@color/red" android:state_pressed="true"/>
<item android:color="@color/normal" android:state_pressed="false"/>
<item android:color="@color/normal"/>
</selector>

<Button
android:id="@+id/like_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/like"
android:layout_gravity="center"
android:text="@string/like" />

干杯。

关于android - 按下时按钮状态未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41818290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com