android studio:

textView控件的用法:

截屏2020-02-14下午10.46.56.png

首先我们先用LinearLayout组件设置一个线性的布局。

把宽度和高度都设置成同父类相同。

然后我们添加一个Button的组件:

<?xml version=”1.0″ encoding=”utf-8″?>

<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”

    android:layout_height=”match_parent”

    android:layout_width=”match_parent”

    android:orientation=”vertical”

    >

    <!–vertical垂直布局 horizontal横向布局–>

   <Button

       android:id=”@+id/but_1″

       android:layout_width=”match_parent”

       android:layout_height=”wrap_content”

       android:text=”test!”

       />

</LinearLayout>

截屏2020-02-15下午1.46.58.png

然后我们到MainActivity.java页面

首先我们先声明组件Button Buttontest

然后到protected void onCreate(Bundle savedInstanceState) {}

里面去找到Button Buttontest这个组件。

之后在给他添加一个事件跳转到TextView演示界面:

package com.example.myfirstapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    private Button Buttontest;

    //声明组件

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        Buttontest = (Button) findViewById(R.id.but_1);

        //要找到这个Button

        Buttontest.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                //跳转到TextView演示界面

                Intent intent = new Intent(MainActivity.this,TextViewActivity.class);

                startActivity(intent);

            }

        });

        //button设置一个点击事件

    }

}

然后我们到MainActivity.java同一文件夹下创建一个新的Activity

文件:

截屏2020-02-15下午1.53.34.png

我起名为TextViewActivity。

创建完之后我们要再次回到MainActivity.java页面在 

Intent intent = new Intent(MainActivity.this,TextViewActivity.class);

设置我们的跳转的页面。

我们创建了新的页面要到AndroidMainfext.xml文件夹下声明。

当然软件已经忙我们自动声明好了。

截屏2020-02-15下午1.57.55.png
截屏2020-02-15下午2.37.22.png

那我们打开TextViewActivity.java来开始学习TextView的学习:

1.首先是文字的大小和颜色:

我们也一样用LinearLayout线性布局:

<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”

    android:layout_width=”match_parent”

    android:layout_height=”match_parent”

    android:orientation=”vertical”

    android:padding=”24dp”

    >

</LinearLayout>

设置为垂直布局和内边距24dp。

然后我们添加一个TextView:

<TextView

    android:id=”@+id/txt_1″

    android:layout_width=”match_parent”

    android:layout_height=”wrap_content”

    android:text=”First APP text test”

    android:textColor=”#000000″

    android:textSize=”24sp”

    />

<!–android:textSize=”24sp”这里用“sp”是因为和“dp”一样的原因(分辨率)–>

TexViewandroid:text可以设置文字。

android:textColor可以设置文字颜色。

android:textSize可以设置文字大小。

截屏2020-02-15下午2.11.43.png

2.显示不下的时候我们用“。。。。”:

我们添加一个TexView

<TextView

    android:id=”@+id/txt_2″

    android:layout_height=”wrap_content”

    android:layout_width=”match_parent”

    android:text=”@string/text_test”

    android:textColor=”#000000″

    android:textSize=”24sp”

    android:maxLines=”1″

    android:ellipsize=”end”

    android:layout_marginTop=”10dp”

    />

<!–  @string/app_name 为一个类似变量的东西。可以在

app/src/res/value/strings.xml的文件下声明一个srting的变量

–>

<!–  android:ellipsize=”end”  的是文字太长太大而不能在屏幕显示完,

那我们就用“…”的效果来完成。–>

android:maxLines=“1”设置最大行数为1.

截屏2020-02-15下午2.12.00.png

3.文字+cion

首先添加一个TextView:

<TextView

        android:layout_width=”wrap_content”

        android:layout_height=”wrap_content”

        android:background=”#ffff99″

        android:text=”WIFI”

        android:textColor=”#000000″

        android:textSize=”30sp”

        android:layout_marginTop=”10dp”

        android:drawableRight=”@drawable/th_internet”

        android:drawablePadding=”5dp”

        />

<!–   wrap_content 自适应大小–>

android:background=”#ffff99”添加背景颜色。

android:drawableRight=”@drawable/th_internet”添加icon在右边。

android:drawablePadding=”5dp”设置icon内边距。

截屏2020-02-15下午2.15.17.png

4.中划线、下划线。

1)中划线:

先写一个TextView

    <TextView

        android:id=”@+id/txt_3″

        android:layout_width=”wrap_content”

        android:layout_height=”wrap_content”

        android:layout_marginTop=”20dp”

        android:text=”中划线

        android:textSize=”25sp”

        />

<!–    中划线的设置–>

然后在TextViewActivty.java

先声明控件:

private TextView tv,tv4,tv5,tv6;

//声明组件tv

然后再去protected void onCreate(Bundle savedInstanceState) 

找到控件:

tv =(TextView) findViewById(R.id.txt_3);

//找到tvID

//这里的(TextView)其实现在可以不用加了因为API26的更新可以不用强制转换了。

tv.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);

/中划线(但是会有锯齿的感觉)

截屏2020-02-15下午12.57.44.png

tv.getPaint().setAntiAlias(true);

//去除锯齿(自我感觉什么区别)

截屏2020-02-15下午1.00.13.png

这里比较一下。

截屏2020-02-15下午2.23.12.png

2)下划线:

设置下划线有很多方法,这里介绍两种。

1.是用android里的:

首先设置TextView:

    <TextView

        android:id=”@+id/txt_4″

        android:layout_width=”wrap_content”

        android:layout_height=”wrap_content”

        android:text=”下划线

        android:textSize=”25sp”

        android:layout_marginTop=”10dp”

        />

<!–    下划线的设置–>

然后去TextViewActivty.java

先声明控件:

private TextView tv,tv4,tv5,tv6;

//声明组件tv

然后再去protected void onCreate(Bundle savedInstanceState) 

找到控件:

tv4 =findViewById(R.id.txt_4);

tv4.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);

//下划线

截屏2020-02-15下午2.32.53.png

2.使用HTML的方式来画:

先写一个TextView

<TextView

    android:id=”@+id/txt_5″

    android:layout_width=”wrap_content”

    android:layout_height=”wrap_content”

    android:layout_marginTop=”10dp”

    android:textSize=”25sp”

    />

然后在TextViewActivty.java

先声明控件:

private TextView tv,tv4,tv5,tv6;

//声明组件tv

然后再去protected void onCreate(Bundle savedInstanceState) 

找到控件:

tv5 = findViewById(R.id.txt_5);

tv5.setText(Html.fromHtml(“<u>下划线</u>”));

//HTML来设置下划线

setText这个方法可以直接设置文字。

Html.fromHtml可以写Html语言。

截屏2020-02-15下午2.33.20.png

5.跑马灯:

也是先设置TextView

   <TextView

        android:id=”@+id/txt_6″

        android:layout_height=”wrap_content”

        android:layout_width=”wrap_content”

        android:text=”@string/text_test”

        android:textSize=”25sp”

        android:singleLine=”true”

        android:ellipsize=”marquee”

        android:layout_marginTop=”10dp”

        android:marqueeRepeatLimit=”marquee_forever”

        android:focusable=”true”

        android:focusableInTouchMode=”true”

        />

<!–    android:focusable=”true”要让跑马灯跑起来就要获得焦点–>

<!–    android:marqueeRepeatLimit=”marquee_forever”表示循环的次数marquee_forever表示永久在循环–>

<!–    android:ellipsize=”marquee”里的marquee表示跑马灯的一个属性。–>

<!–    而且设置了这个属性就一定要设置singleLine这个属性。–>

然后在TextViewActivty.java

先声明控件:

private TextView tv,tv4,tv5,tv6;

//声明组件tv

然后再去protected void onCreate(Bundle savedInstanceState) 

找到控件:

tv6 = findViewById(R.id.txt_6);

tv6.setSelected(true);

//跑马灯

截屏2020-02-15下午2.33.41.png

下面是

activity_text_view.xml文件的代码:

<?xml version=”1.0″ encoding=”utf-8″?>

<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”

    android:layout_width=”match_parent”

    android:layout_height=”match_parent”

    android:orientation=”vertical”

    android:padding=”24dp”

    >

    <TextView

        android:id=”@+id/txt_1″

        android:layout_width=”match_parent”

        android:layout_height=”wrap_content”

        android:text=”First APP text test”

        android:textColor=”#000000″

        android:textSize=”24sp”

        />

    <!–android:textSize=”24sp”这里用“sp”是因为和“dp”一样的原因(分辨率)–>

    <TextView

        android:id=”@+id/txt_2″

        android:layout_height=”wrap_content”

        android:layout_width=”match_parent”

        android:text=”@string/text_test”

        android:textColor=”#000000″

        android:textSize=”24sp”

        android:maxLines=”1″

        android:ellipsize=”end”

        android:layout_marginTop=”10dp”

        />

    <!–  @string/app_name 为一个类似变量的东西。可以在

    app/src/res/value/strings.xml的文件下声明一个srting的变量

    –>

    <!–  android:ellipsize=”end”  的是文字太长太大而不能在屏幕显示完,

    那我们就用“…”的效果来完成。–>

    <TextView

        android:layout_width=”wrap_content”

        android:layout_height=”wrap_content”

        android:background=”#ffff99″

        android:text=”WIFI”

        android:textColor=”#000000″

        android:textSize=”30sp”

        android:layout_marginTop=”10dp”

        android:drawableRight=”@drawable/th_internet”

        android:drawablePadding=”5dp”

        />

<!–   wrap_content 自适应大小–>

    <TextView

        android:id=”@+id/txt_3″

        android:layout_width=”wrap_content”

        android:layout_height=”wrap_content”

        android:layout_marginTop=”20dp”

        android:text=”中划线

        android:textSize=”25sp”

        />

<!–    中划线的设置–>

    <TextView

        android:id=”@+id/txt_4″

        android:layout_width=”wrap_content”

        android:layout_height=”wrap_content”

        android:text=”下划线

        android:textSize=”25sp”

        android:layout_marginTop=”10dp”

        />

<!–    下划线的设置–>

    <TextView

        android:id=”@+id/txt_5″

        android:layout_width=”wrap_content”

        android:layout_height=”wrap_content”

        android:layout_marginTop=”10dp”

        android:textSize=”25sp”

        />

    <TextView

        android:id=”@+id/txt_6″

        android:layout_height=”wrap_content”

        android:layout_width=”wrap_content”

        android:text=”@string/text_test”

        android:textSize=”25sp”

        android:singleLine=”true”

        android:ellipsize=”marquee”

        android:layout_marginTop=”10dp”

        android:marqueeRepeatLimit=”marquee_forever”

        android:focusable=”true”

        android:focusableInTouchMode=”true”

        />

<!–    android:focusable=”true”要让跑马灯跑起来就要获得焦点–>

<!–    android:marqueeRepeatLimit=”marquee_forever”表示循环的次数marquee_forever表示永久在循环–>

<!–    android:ellipsize=”marquee”里的marquee表示跑马灯的一个属性。–>

<!–    而且设置了这个属性就一定要设置singleLine这个属性。–>

</LinearLayout>

截屏2020-02-15下午2.35.16.png
截屏2020-02-15下午2.35.34.png

这个是TextView.java文件的代码:

package com.example.myfirstapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Paint;

import android.os.Bundle;

import android.text.Html;

import android.widget.TextView;

public class TextViewActivity extends AppCompatActivity {

    private TextView tv,tv4,tv5,tv6;

    //声明组件tv

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_text_view);

        tv =(TextView) findViewById(R.id.txt_3);

        //找到tvID

        //这里的(TextView)其实现在可以不用加了因为API26的更新可以不用强制转换了。

        tv.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);

        //中划线(但是会有锯齿的感觉)

        tv.getPaint().setAntiAlias(true);

        //去除锯齿(自我感觉什么区别)

        tv4 =findViewById(R.id.txt_4);

        tv4.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);

        //下划线

        tv5 = findViewById(R.id.txt_5);

        tv5.setText(Html.fromHtml(“<u>下划线</u>”));

        //HTML来设置下划线

        tv6 = findViewById(R.id.txt_6);

        tv6.setSelected(true);

        //跑马灯

    }

}

最后修改日期:2020年2月15日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。