【问题标题】:How can I change the colour of the text of a grid view item,at state pressed?如何在按下状态下更改网格视图项的文本颜色?
【发布时间】:2015-06-03 04:45:41
【问题描述】:

我有一个网格视图,每个项目都是一个文本视图。最初文本颜色是白色,背景颜色是透明的,当它被按下时,项目背景颜色会变成白色,在这种情况下是文本颜色并且项目颜色为白色。因此按下时整个布局将变为白色。

我想以编程方式设置网格项目的文本颜色,我知道我可以使用选择器更改文本的颜色。

但我想以编程方式设置文本颜色,根据背景颜色。

gridView2.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            // TODO Auto-generated method stub
            tv_list_item_lang=(TextView)view.findViewById(R.id.tv_list_item_lang);



            Constants.survey_language = ""
                    + languagesNameList.get(position);
            Log.d("survey_language", "" + languagesNameList.get(position));
            try {
                if (Constants.questions_arr_list.size() == 0) {
                    getCurrentSurveyQuestions();
                }
            } catch (Exception e) {
                // TODO: handle exception
                Log.e("exception", "" + Log.getStackTraceString(e));
            }

            // Intent intent=new
            // Intent(SurveyYesNoActivity.this,TwoQuestionsActivity.class);
            // startActivity(intent);
            // finish();
            gridView2.setEnabled(false);
});

需要帮助...提前致谢!

【问题讨论】:

  • Asif 看看我分享的代码。

标签: android android-layout colors


【解决方案1】:

res 中创建一个color 文件夹

在同一个文件夹中创建一个选择器,名称为 text_pressed.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="false" android:color="@color/white"/>
    <item android:state_pressed="true" android:color="@color/app_mail_blue"/>
    <item android:color="@color/white"/>

</selector>

并将TextView的textColor设置为android:textColor="@color/text_pressed"

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Text View"
        android:textColor="@color/text_pressed" />

【讨论】:

  • 我知道我可以使用选择器,有什么方法可以让我只在按顺序按下的状态下更改文本颜色!??...担心!!(不使用选择器文件)
  • 有什么办法可以通过编程方式制作整个选择器文件吗?
  • 显然有办法,但我更喜欢你在 xml 中使用。
  • 你能告诉我怎么做吗,现在对我很有帮助。
猜你喜欢
  • 2014-06-29
  • 1970-01-01
  • 2014-06-26
  • 2014-03-14
  • 2019-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多