一次按下按钮时如何更改文本颜色(Android)

一次按下按钮时如何更改文本颜色(Android),第1张

概述我基本上想做的是:当我单击按钮时,我希望其文本颜色以其他颜色显示.我试过的是:<selectorxmlns:android="http://schemas.android.com/apkes/android"><itemandroid:state_pressed="true"android:color="@colored"/><ite

我基本上想做的是:
当我单击按钮时,我希望其文本颜色以其他颜色显示.
我试过的是:

<selector    xmlns:androID="http://schemas.androID.com/apk/res/androID">    <item        androID:state_pressed="true"        androID:color="@color/red" />    <item        androID:state_pressed="false"        androID:color="#000" /></selector>

然后我确实将此选择器用作按钮androID:textcolor上的可绘制对象

但这并不能解决问题,因为它仅在我按下按钮时改变其颜色.
我想要这样:
默认值:黑色
点击时:蓝色
再次单击:黑色

任何想法如何做到这一点? :S

这是按钮的形状(如果有的话):

<?xml version="1.0" enCoding="utf-8"?><inset xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:insetBottom="-1dp"    androID:insetleft="-1dp"    androID:insetRight="-1dp">    <selector>        <item androID:state_pressed="false">            <shape androID:shape="rectangle" >                <corners                    androID:radius="0dp"                    />                <solID                    androID:color="@color/background_grey"                    />                <padding                    androID:left="0dp"                    androID:top="0dp"                    androID:right="0dp"                    androID:bottom="0dp"                    />                <size                    androID:wIDth="100dp"                    androID:height="30dp"                    />                <stroke                    androID:wIDth="1dp"                    androID:color="#ffb4b4b4"                    />            </shape>        </item>        <item androID:state_pressed="true">            <shape androID:shape="rectangle" >                <corners                    androID:radius="0dp"                    />                <solID                    androID:color="@color/pq_blue"                    />                <padding                    androID:left="0dp"                    androID:top="0dp"                    androID:right="0dp"                    androID:bottom="0dp"                    />                <size                    androID:wIDth="100dp"                    androID:height="30dp"                    />                <stroke                    androID:wIDth="1dp"                    androID:color="#ffb4b4b4"                    />            </shape>        </item>    </selector></inset>

提前

编辑

因此,我尝试以编程方式进行 *** 作,并按照以下说明进行 *** 作,只是看它是否会更改颜色..但是是..它不起作用(似乎我的onClick事件不起作用):

 @OverrIDe     public VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container,                         Bundle savedInstanceState) {    VIEw rootVIEw = inflater.inflate(R.layout.ListvIEw_item, container, false);    final button likebutton = (button)rootVIEw.findVIEwByID(R.ID.btlike);    likebutton.setonClickListener(new VIEw.OnClickListener() {        @OverrIDe        public voID onClick(VIEw vIEw) {            String test = "tester";            if(button_STATE==button_STATE_ONCE){                likebutton.setTextcolor(getResources().getcolor(R.color.pq_blue));                button_STATE = button_STATE_TWICE;            }else{                likebutton.setTextcolor(getResources().getcolor(R.color.red));                button_STATE = button_STATE_ONCE;            }        }    });    return rootVIEw;}

}

注意:我在onCreateVIEw中做所有这些事情,因为我在我的ActionBaractivity的片段中(带有标签),如果我在onCreate中这样做,我在findVIEwByID处得到一个空指针异常(因为它在我的mainActivity中搜索ID,如果我正确?)

是的..有什么想法吗?

解决方法:

您的textselector.xml-

<selector    xmlns:androID="http://schemas.androID.com/apk/res/androID">    <item        androID:state_pressed="true"        androID:color="@color/red" /> <!--selected text colour-->    <item        androID:state_focused="true"        androID:color="@color/red" />    <item                    androID:color="@color/blue" /> <!--unselected text colour--></selector>

您在layout.xml中的按钮-

<button    androID:ID="@+ID/btn1"    androID:layout_wIDth="wrap_content"    androID:layout_height="wrap_content"    androID:text="Exit"    androID:textcolor="@drawable/textselector" <!-- SET textselector HERE -->    androID:background="@drawable/button_color"/>
总结

以上是内存溢出为你收集整理的一次按下按钮时如何更改文本颜色(Android)全部内容,希望文章能够帮你解决一次按下按钮时如何更改文本颜色(Android)所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1079020.html

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

发表评论

登录后才能评论

评论列表(0条)

保存