Android 文字链接 文字点击时的背景颜色

案例:实现“忘记密码?”这个链接,并且在按下的时候改变颜色。

方法一:这个可以用TextView实现:

主界面main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:gravity="center"
              android:background="@android:color/white"
        >

    <TextView
            android:id="@+id/tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/color_selector"
            android:textSize="25sp"
            android:text="忘记密码?"
            />
</LinearLayout>

TextView按下时的selector:(在res文件夹下创建color文件夹,并创建color_selector.xml)
color_selector.xml:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:color="@android:color/holo_green_dark"/>
    <item android:color="@android:color/holo_blue_dark"/>
</selector>


MyActivity:

package com.example.WangJiMiMaLink;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class MyActivity extends Activity {
    private TextView textView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        textView = (TextView) findViewById(R.id.tv);
        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                System.out.println("被点击了");
                startActivity(new Intent(MyActivity.this, SecondActivity.class));
            }
        });
    }

}

方法二:

将上面的TextView改为Button控件,并且将Button的background设置为#ffffffff透明的,这样看起来的效果跟TextView一模一样了!

原文地址:https://www.cnblogs.com/wuyou/p/3670647.html