1. 程式人生 > >Android學習之Textview的使用

Android學習之Textview的使用

TextView顯示文字控制元件

示例一:顯示文字(url、不同大小、字型、顏色)

示例二:單擊連結彈出Activity

示例三:使用TextView實現跑馬燈的效果

示例一:

顯示文字(url、不同大小、字型、顏色)

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.administrator.textviewdemo.MainActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textview1"
        android:padding="20sp"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textview2"
        android:autoLink="all"
        android:padding="20sp"/>
</LinearLayout>

MainActivity.java

public class MainActivity extends AppCompatActivity {

    private TextView textView1,textView2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView1 = (TextView) findViewById(R.id.textview1);
        textView2 = (TextView) findViewById(R.id.textview2);
        //新增一段html的標誌
        String html = "<font color='red'>I Love android</font><br>";
        html+="<font color='#0000ff'><big><i>I Love android</i></big></font><p>";
        html+="<big><a href='http://www.baidu.com'>百度</a></big>";
        CharSequence charSequence = Html.fromHtml(html);
        textView1.setText(charSequence);
        //點選的時候產生超連結
        textView1.setMovementMethod(LinkMovementMethod.getInstance());

        //在Activity_main_xml中已經設定了android:autoLink="all"
        String textString = "我的URL:http://www.sina.com\n";
        textString += "我的電話:9878798789";
        textView2.setText(textString);

    }
}

示例二:

單擊連結彈出Activity

MainActivity.java

public class MainActivity extends AppCompatActivity {

    private TextView textView1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView1 = (TextView) findViewById(R.id.textview1);

        String str1 = "顯示Activity1";
        //SpannableString主要用來拆分字串
        SpannableString spannableString1 = new SpannableString(str1);

        spannableString1.setSpan(new ClickableSpan() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this,Activity1.class);
                startActivity(intent);
            }
        }, 0, str1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        textView1.setText(spannableString1);
        textView1.setMovementMethod(LinkMovementMethod.getInstance());
    }
}

Activity1.java

public class Activity1 extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_1);
        setTitle("這是Activity1");
    }
}
 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.administrator.textviewdemo.MainActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textview1"
        android:padding="20sp"/>

</LinearLayout>

示例三:

使用TextView實現跑馬燈的效果

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.administrator.textviewdemo.MainActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textview1"
        android:singleLine="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
        android:focusable="true"
        android:focusableInTouchMode="true"/>

</LinearLayout>

MainActivity.java

public class MainActivity extends AppCompatActivity {

    private TextView textView1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView1 = (TextView) findViewById(R.id.textview1);
        //這種格式的話可以在滾動中點選進行連結
        String html ="<big><a href='http://www.baidu.com'>百度一下</a></big>";
        html+= "【珠海市公安局】遇到這些問題怎麼破:一、騙子說網上有你的通緝令,公檢法電話找你做筆錄。二、物品遺失哪裡可以發尋物啟示?三、如何辨別謠言?微信關注“珠海公安”,不用你花一分錢的貼身安全祕書。";
        html+="<big><a href='http://www.baidu.com'>百度一下</a></big>";
        CharSequence charSequence = Html.fromHtml(html);
        textView1.setText(charSequence);
        textView1.setMovementMethod(LinkMovementMethod.getInstance());

    }
}