3

我对 Android 很陌生,我有一些疑问。

我有一个TextView

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Go Back" />

我怎么让文本Go Back看起来像可点击的?我问的是外观和感觉。TextView应该显示为可点击的方式Button呈现。

提前致谢。

4

8 回答 8

3

在您的可绘制文件夹中创建一个名为“mybutton.xml”的 xml 文件并编写以下内容:

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

    <item 
        android:state_pressed="true"
        android:drawable="@drawable/mybutton2"/>
    <item
        android:drawable="@drawable/mybutton1"/>

</selector>

然后将两个png添加到您的drawables文件夹中...... mybutton1.png,mybutton2.png。因此,您的按钮有 2 种不同的状态。

现在将背景设置为您的文本视图:

android:background="@drawable/mybutton"

然后,在您的代码中,您必须设置一个 clicklistener:

findViewById(R.id.mytextview).setOnClickListener(new OnClickListener(){

 @Override
 public void onClick(View v) {
    //your code goes here
 }

});

仅此而已……您也可以使用形状而不是图像。

于 2013-02-13T11:20:32.150 回答
2

为了使您TextView clickable只需将其添加到您的TextView

android:clickable="true"

之后,您可以onClickListener使用以下方法设置它:

    yourTextView.setOnClickListener(new OnClickListener() {

    @Override
            public void onClick(View v) {
                // do your work here
            }
        });
于 2013-02-13T11:18:29.133 回答
1

试试这个:

final TextView view = (TextView) findViewById(R.id.textview1);
view.setOnClickListener(new View.OnClickListener() {

 @Override
 public void onClick(View v) {
// request your webservice here. Possible use of AsyncTask and ProgressDialog
// show the result here - dialog or Toast
 }

 };);
于 2013-02-13T11:16:50.443 回答
1

您也可以使用 Touchlistener:

textview.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                return false;
            }
        });
于 2013-02-13T11:18:53.753 回答
1

就这样做

yourTextView.setOnClickListener(new OnClickListener() {

@Override
        public void onClick(View v) {
            // do your work here
        }
    });
于 2013-12-11T06:54:18.910 回答
1

你甚至不需要监听器:

<TextView
    android:id="@+id/needCheeseburger"
    android:clickable="true"
    android:onClick="getCheeseburger" />

然后只是:

public void getCheeseburger(View view) {
    Intent intent = new Intent(this, giveMeCheeseburger.class);
    startActivity(intent);
}

这对我来说非常好。

于 2014-08-01T16:43:10.897 回答
0

像这样使用android:clickable="true"

文本视图

 <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:text="Large Text" />

text.setOnClickListener(new OnClickListener() {         
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    });
于 2013-02-13T11:21:12.230 回答
0

希望充分利用你:-

boolean text_click =false;
TextView textview = (TextView) findViewById(R.id.textview1);
    public OnClickListener textOnClick = new OnClickListener() {

    @Override
    public void onClick(View v) {

        if (Constants.text_click) {
            textview.setBackgroundResource(R.drawable.textbox);

            text_click = false;
        } else {

            textview.setBackgroundResource(R.drawable.textboxonpress);

            text_click = true;
        }

    }
};
于 2013-02-13T11:27:13.697 回答