android - 如何在按下状态下更改 GridView 项目文本的颜色?

标签 android android-layout colors

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

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

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

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);
});

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

最佳答案

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的textColorandroid: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" />

关于android - 如何在按下状态下更改 GridView 项目文本的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29341634/

相关文章:

android - ImageView 中的填充不起作用

javascript - 确定规则 : relate integer value to color #RGB

android - 从 appwidget 制作缩放动画

android - 通过类 WebView 加载 URL 时出错

android - ImageView 的固定高度和宽度

android对话框不会加载完整数据

r - scale_fill_discrete 和 scale_fill_manual - 图例选项混淆

colors - 我该如何纠正Windows Phone 7中的色带?

android - 如何删除 Android 短信收件箱中的所有消息?

android - 何时注销 BroadcastReceiver?在 onPause()、onDestroy() 还是 onStop() 中?