java-选择时如何更改卡片视图的颜色

java-选择时如何更改卡片视图的颜色,第1张

概述我正在尝试卡片视图而不是按钮视图,我喜欢可以添加到他们的信息量.但是我想这样做,所以如果他们按卡片,它就会变色.一旦发布,我希望它变回来.因此它的工作方式与我的按钮类似.我可以得到它,以便它在单击时发生变化,但是直到活动被破坏之前,它都保持不变,这是我目前用于更改颜色

我正在尝试卡片视图而不是按钮视图,我喜欢可以添加到他们的信息量.但是我想这样做,所以如果他们按卡片,它就会变色.一旦发布,我希望它变回来.因此它的工作方式与我的按钮类似.

我可以得到它,以便它在单击时发生变化,但是直到活动被破坏之前,它都保持不变,

这是我目前用于更改颜色的代码.

public voID setSingleEvent(GrIDLayout maingrID) {    for (int i = 0; i < maingrID.getChildCount(); i++) {        final CardVIEw cardVIEw = (CardVIEw) maingrID.getChildAt(i);        final int finali = i;        cardVIEw.setonClickListener(new VIEw.OnClickListener() {            @OverrIDe            public voID onClick(VIEw vIEw) {                Toast.makeText(mcontext, "button: " + finali, Toast.LENGTH_SHORT).show();                cardVIEw.setCardBackgroundcolor(mcontext.getResources().getcolor(R.color.buttonpressed));                if (finali == 0) {                    mcontext.startActivity(new Intent(mcontext, Genre_Streaming.class));                }            }        });

解决方法:

您可以尝试将OntouchListener与ACTION_DOWN和ACTION_UP结合使用来处理Press / Release事件,而不是OnClickListener.

修改后的代码:

public voID setSingleEvent(GrIDLayout maingrID) {    for (int i = 0; i < maingrID.getChildCount(); i++) {        final CardVIEw cardVIEw = (CardVIEw) maingrID.getChildAt(i);        final int finali = i;        cardVIEw.setontouchListener(new OntouchListener () {          public boolean ontouch(VIEw vIEw, MotionEvent event) {            if (event.getAction() == androID.vIEw.MotionEvent.ACTION_DOWN) {              Toast.makeText(mcontext, "button: " + finali, Toast.LENGTH_SHORT).show();              cardVIEw.setCardBackgroundcolor(mcontext.getResources().getcolor(R.color.buttonpressed));              if (finali == 0) {                  mcontext.startActivity(new Intent(mcontext, Genre_Streaming.class));              }            } else if (event.getAction() == androID.vIEw.MotionEvent.ACTION_UP) {              /* reset color */              cardVIEw.setCardBackgroundcolor(mcontext.getResources().getcolor(R.color.red));            }            return true;          }        }}

链接:http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_UP

总结

以上是内存溢出为你收集整理的java-选择时如何更改卡片视图的颜色全部内容,希望文章能够帮你解决java-选择时如何更改卡片视图的颜色所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1080788.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存