如何使用特定文本更改textview上的文本颜色?

时间:2016-08-11 05:14:19

标签: java android xml textview textcolor

我想用特定文字更改textview的颜色,例如

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    tools:text="Live"
    android:id="@+id/soccer_statuslive"
    android:paddingRight="16dp"
    android:layout_gravity="right"
    android:textColor="#2ccc14"
    android:paddingBottom="16dp"/>

所以我想在文字说&#34;最后&#34;时将颜色改为红色。当它说&#34; Live&#34;

时改变绿色
tools:text="Live"
android:textColor="#2ccc14"

7 个答案:

答案 0 :(得分:0)

试试这段代码:

if(yourtextView.getText().toString().equals("Final"))
    yourtextView.setTextColor(Color.RED);
else if(yourtextView.getText().toString().toString.equals("Live"))
    yourtextView.setTextColor(Color.GREEN);

答案 1 :(得分:0)

您可以以编程方式执行此操作:

if(soccer_statuslive.getText().toString.equals("Final"))
    soccer_statuslive.setTextColor(Color.RED);
else if(soccer_statuslive.getText().toString.equals("Live"))
    soccer_statuslive.setTextColor(Color.GREEN);

答案 2 :(得分:0)

检查您的活动中的动态代码添加

      if(sl.equalsIgnoreCase("Live")){



                solve.setTextColor
            (getApplicationContext.getResources().
           getColor(R.color.green));

            }
            else if(sl.equalsIgnoreCase("Final")){

           solve.setTextColor
          (getApplicationContext.getResources().getColor(R.color.red));
       }

答案 3 :(得分:0)

 if (tv.getText().toString().equalsIgnoreCase("Final")) {

            tv.setTextColor(getResources().getColor(R.color.red));
        } else {
            if (tv.getText().toString().equalsIgnoreCase("Live")) {
                tv.setTextColor(getResources().getColor(R.color.green));
            }
        }

答案 4 :(得分:0)

您可以使用此代码获取代码中的按钮。

Button b  = ( Button) findViewById(R.id.*youbuttonname*);

然后您可以检查按钮文本是“最终”还是“实时”,如

if( b.Text.equals("Live")
b.setColor(R.color.red)

确保在Color xml文件中添加了红色。

答案 5 :(得分:0)

TextView tv;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    tv = (TextView) findViewById(R.id.soccer_statuslive);
    tv.addTextChangedListener(new TextWatcher() {

        @Override
        public void afterTextChanged(Editable s) {
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            String text = tv.getText().toString();
            if (text.equals("Final"))
                tv.setTextColor(Color.RED);
            else
                tv.setTextColor(Color.GREEN);
        }
    });
}

答案 6 :(得分:0)

您是否可以使用TextChangeListener以编程方式执行此操作?像

这样的东西

关于您的活动

    TextView soccerStatus = findViewById(R.id.soccer_statuslive);
    soccerStatus.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void afterTextChanged(Editable editable) {
            if ("Final".equalsIgnoreCase(editable.toString())) {
                soccerStatus.setTextColor(Color.RED);
            } else if ("Live".equalsIgnoreCase(editable.toString())) {
                soccerStatus.setTextColor(Color.GREEN);
            }
        }
    });