Android 開發第四講 TextView的基本使用


Android 開發第四講 TextView的使用

一丶TextViw

1.1 TextView主要作用

​ TextView可以進行如下

  • 文字大小,顏色設置,顯示文字
  • 顯示不下文字的時候 使用 ....來進行省略
  • 文件+icon 形式進行顯示
  • 中划線,下划線等 顯示設置.
  • 文字效果.

總結來說.文字顯示控件支持的屬性很多.需要編寫Xml進行體會.

1.2 Xml設置Button按鈕. java入口設置Button使用

Button后面會說.這里先貼出代碼. 這里會響應Button點擊.所以后續會說.

這里先做基本的.

Layout Activity_main.xml修改為如下

<?xml version="1.0" encoding="utf-8"?><!--設置為相對布局-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

<!--    設置Button 並且設置ID-->
    <Button
        android:id="@+id/Btn_Text"
        android:layout_width="match_parent"
        android:text="點擊我"
        android:layout_height="wrap_content">

    </Button>

</LinearLayout>

1.3 設置Button的響應事件

在Src中的 MainActivity中代碼寫入如下

package com.ibinary.myapplication;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.sax.StartElementListener;
import android.view.View;
import android.widget.Button;
// Alt + Shift + Entery 引入此包
public class MainActivity extends AppCompatActivity {

//    聲明Button 一會使用 如果找不到則引入這個包 Alt+Shift+Enter
    private Button m_BtnText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

//        找到這個Button 使用 findBiewById 尋找R.id 下的我們定義的ID 但是返回值是view類型,
        //所有我們要進行轉換 轉換為Button  Button
        m_BtnText = (Button) findViewById(R.id.Btn_Text);
//      響應 按鈕點擊消息 設置點擊事件
//      匿名內部類
        m_BtnText.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view) {
            //設置點擊事件,跳轉到 TextView 中. 所以我們要建立一個TextView的Active
                //建立之后會產生一個 TextView 以及一個activity_text_view,並且我們需要在AndroidManifest.xml中注冊


                //從哪里 跳轉到哪里
                Intent intent = new Intent(MainActivity.this,TextViewActive.class);
                startActivity(intent);
            }

        });
    }
}

上述代碼表示我們點擊按鈕的時候,跳轉到TextViewActive中執行

但是這里我們沒有創建.所以我們可以創建一個新的Active

如下

建立的空 Activity修改為 TextViewActive即可.

建立好之后會自動 在 AndroidMinifest.xml中注冊.讓我們使用.

然后也會自動在Layout下面創建一個activity_text_view.xml布局文件,當然名字在你創建Activity的時候

可以自己指定

二丶TextView Xml寫法

2.1 TextView的常用屬性的寫法

TextView中的Text屬性可以指定你要顯示的名稱.可以直接寫,也可以引用另一個Xml文件中信息

在Android Studio中 Values下記錄的這是一些信息.

比如strings.xml colors.xml等信息

android:textColor = "#000000"  可以設置字體的顏色
android:text="HelloWorld"       設置顯示的文字,可以直接設置也可以引用設置
android:textSize="20sp"   可以設置字體大小. 字體大小因為屏幕原因使用sp表示.布局使用dp表示
android:maxLines="1" 設置為一行,不換行
android:ellipsize="end"  可以設置為過長不顯示

xml編寫為如下

strings.xml中如下

<resources>
    <string name="app_name">My Application</string>
    <string name="TestVie1">我是第一個TextView是被引用的</string>
</resources>

active_text_view.xml如下

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

<!--    引用方式顯示 並且設置字體大小-->
    <TextView
        android:id="@+id/Text_ViewId1"
        android:layout_width="wrap_content"
        android:layout_height="100dp"
        android:textColor="#834e18"
        android:textSize="20sp"
        android:text="@string/TestVie1">

    </TextView>
<!--    直接寫的顯示-->
    <TextView
        android:id="@+id/Text_ViewId2"
        android:layout_marginTop="10dp"
        android:layout_width="wrap_content"
        android:layout_height="20dp"
        android:textColor="#00ff33"
        android:text="我是不被引用的">

    </TextView>

    <!--設置TextView為不換行,以及顯示為...表示-->
    <TextView
        android:layout_marginTop="20dp"
        android:id="@+id/Text_ViewId3"
        android:layout_width="60dp"
        android:maxLines="1"
        android:layout_height="20dp"
        android:text="過長顯示為省略號"
        android:ellipsize="end"
        android:textColor="#000033">

    </TextView>
</LinearLayout>

效果圖如下

2.2 TextView 顯示為文字+圖片的形式

如果想顯示圖片.那么我們就要找一個圖片.並且放到 drawable中.然后進行引用

屬性如下:

android:drawableRight = "@drawable/xxxx圖片"  顯示圖片在文字的右邊,同樣有上邊左邊下邊等

添加圖片到drawable中.選中drawable直接Ctrl+V粘貼即可.或者你自己選擇圖片路徑

對應xml

<TextView
        android:id="@+id/Text_View4"
        android:layout_width="wrap_content"
        android:layout_height="100dp"
        android:textSize="20sp"
        android:layout_marginTop="20dp"
        android:text="請看右邊" 
        android:drawablePadding="3dp"
        android:drawableRight="@drawable/down">
    </TextView>

圖片資源自己找. 效果圖如下

2.3 TextView設置中划線以及下划線

要設置中划線 就要寫代碼進行設置了,不過我們要建立一個新的textview 並為其分配一個ID便於我們操作

寫代碼前兩句還是一樣

1.聲明控件

2.找到控件,並強轉.

只不過此時我們需要調用其中的方法了.而不是設置事件

TextViewActive下的代碼如下

代碼如下:

package com.ibinary.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Paint;
import android.os.Bundle;
import android.widget.TextView;

public class TextViewActive extends AppCompatActivity {

    //聲明控件
    private TextView m_TextViewId5;
    private TextView m_TextViewId6;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_text_view);
        //通過ID找到控件
        m_TextViewId5 = (TextView) findViewById(R.id.Text_ViewId5);
        m_TextViewId6 = (TextView) findViewById(R.id.Text_ViewId6);
        //調用方法設置
        //設置中划線,但是可能會有鋸齒.所以調用去掉鋸齒的方法
        m_TextViewId5.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
        m_TextViewId5.getPaint().setAntiAlias(true);

        //設置下划線 Paint.UNDERLINE_TEXT_FLAG
        m_TextViewId6.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
           //第二種形式使我們可以從html中設置
        m_TextViewId6.setText(Html.fromHtml("<u>Html形式</u>"));
    }
}

active_view設置的xml描述如下

 <TextView
        android:id="@+id/Text_ViewId5"
        android:layout_width="wrap_content"
        android:layout_height="100dp"
        android:text="中划線"
        android:layout_marginTop="20dp"
        android:textSize="20sp">

    </TextView>

點擊按鈕運行則會看到最終效果

點擊之后則會跳轉到TextView中

已經實現了中划線的效果

下划線如下

html如下

html需要了解 html標簽以及語法等. 代碼的話要使用 setText來設置.

2.4 跑馬燈效果設置

跑馬丁就是 文字循環顯示

那么我們就要設置以下幾個屬性

android:singleLine="true"						//設置為單行顯示,不過被棄用了.后面可以百度看一下解決方法
android:ellipsize="marquee"                     // 顯示條目設置
android:marqueeRepeatLimit="marquee_forever"   //設置循環次數,marquee_forever代表一致循環
android:focusable="true"					   //設置焦點
android:focusableInTouchMode="true"            //設置焦點模式

xml代碼如下

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        android:text="IBinary 博客園  IBinary 博客園  IBinary 博客園"
        android:textColor="#9933ff"
        android:singleLine="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
        android:focusable="true"
        android:focusableInTouchMode="true">

    </TextView>

運行之后就會顯示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM