瞎拍导演 發表於 2020-8-30 01:42:00

Android 开发第四讲 TextView的基本使用

<p></p><div class="toc"><div class="toc-container-header">目录</div><ul><li>Android 开发第四讲 TextView的使用<ul><li>一丶TextViw<ul><li>1.1 TextView主要作用</li><li>1.2 Xml设置Button按钮. java入口设置Button使用</li><li>1.3 设置Button的响应事件</li></ul></li><li>二丶TextView Xml写法<ul><li>2.1 TextView的常用属性的写法</li><li>2.2 TextView 显示为文字+图片的形式</li><li>2.3 TextView设置中划线以及下划线</li><li>2.4 跑马灯效果设置</li></ul></li></ul></li></ul></div><p></p>
<h1 id="android-开发第四讲-textview的使用">Android 开发第四讲 TextView的使用</h1>
<h2 id="一丶textviw">一丶TextViw</h2>
<h3 id="11-textview主要作用">1.1 TextView主要作用</h3>
<p>​        TextView可以进行如下</p>
<ul>
<li>文字大小,颜色设置,显示文字</li>
<li>显示不下文字的时候 使用 ....来进行省略</li>
<li>文件+icon 形式进行显示</li>
<li>中划线,下划线等 显示设置.</li>
<li>文字效果.</li>
</ul>
<p>总结来说.文字显示控件支持的属性很多.需要编写Xml进行体会.</p>
<h3 id="12-xml设置button按钮-java入口设置button使用">1.2 Xml设置Button按钮. java入口设置Button使用</h3>
<p>Button后面会说.这里先贴出代码. 这里会响应Button点击.所以后续会说.</p>
<p>这里先做基本的.</p>
<p>Layout Activity_main.xml修改为如下</p>
<pre><code class="language-xml">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;!--设置为相对布局--&gt;
&lt;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"&gt;

&lt;!--    设置Button 并且设置ID--&gt;
    &lt;Button
      android:id="@+id/Btn_Text"
      android:layout_width="match_parent"
      android:text="点击我"
      android:layout_height="wrap_content"&gt;

    &lt;/Button&gt;

&lt;/LinearLayout&gt;
</code></pre>
<h3 id="13-设置button的响应事件">1.3 设置Button的响应事件</h3>
<p>在Src中的 MainActivity中代码写入如下</p>
<pre><code class="language-java">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类型,
      //所有我们要进行转换 转换为ButtonButton
      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);
            }

      });
    }
}
</code></pre>
<p>上述代码表示我们点击按钮的时候,跳转到TextViewActive中执行</p>
<p>但是这里我们没有创建.所以我们可以创建一个新的Active</p>
<p>如下</p>
<p><img src="https://img2020.cnblogs.com/blog/1197364/202008/1197364-20200830001459566-824876895.png" alt="" loading="lazy"></p>
<p>建立的空 Activity修改为 TextViewActive即可.</p>
<p>建立好之后会自动 在 AndroidMinifest.xml中注册.让我们使用.</p>
<p>然后也会自动在Layout下面创建一个activity_text_view.xml布局文件,当然名字在你创建Activity的时候</p>
<p>可以自己指定</p>
<h2 id="二丶textview-xml写法">二丶TextView Xml写法</h2>
<h3 id="21-textview的常用属性的写法">2.1 TextView的常用属性的写法</h3>
<p>TextView中的Text属性可以指定你要显示的名称.可以直接写,也可以引用另一个Xml文件中信息</p>
<p>在Android Studio中 Values下记录的这是一些信息.</p>
<p>比如strings.xml   colors.xml等信息</p>
<pre><code>android:textColor = "#000000"可以设置字体的颜色
android:text="HelloWorld"       设置显示的文字,可以直接设置也可以引用设置
android:textSize="20sp"   可以设置字体大小. 字体大小因为屏幕原因使用sp表示.布局使用dp表示
android:maxLines="1" 设置为一行,不换行
android:ellipsize="end"可以设置为过长不显示
</code></pre>
<p>xml编写为如下</p>
<p><strong>strings.xml</strong>中如下</p>
<pre><code class="language-xml">&lt;resources&gt;
    &lt;string name="app_name"&gt;My Application&lt;/string&gt;
    &lt;string name="TestVie1"&gt;我是第一个TextView是被引用的&lt;/string&gt;
&lt;/resources&gt;
</code></pre>
<p><strong>active_text_view.xml</strong>如下</p>
<pre><code class="language-xml">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;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"&gt;

&lt;!--    引用方式显示 并且设置字体大小--&gt;
    &lt;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"&gt;

    &lt;/TextView&gt;
&lt;!--    直接写的显示--&gt;
    &lt;TextView
      android:id="@+id/Text_ViewId2"
      android:layout_marginTop="10dp"
      android:layout_width="wrap_content"
      android:layout_height="20dp"
      android:textColor="#00ff33"
      android:text="我是不被引用的"&gt;

    &lt;/TextView&gt;

    &lt;!--设置TextView为不换行,以及显示为...表示--&gt;
    &lt;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"&gt;

    &lt;/TextView&gt;
&lt;/LinearLayout&gt;
</code></pre>
<p>效果图如下</p>
<p><img src="https://img2020.cnblogs.com/blog/1197364/202008/1197364-20200830003836641-984913000.png" alt="" loading="lazy"></p>
<h3 id="22-textview-显示为文字图片的形式">2.2 TextView 显示为文字+图片的形式</h3>
<p>如果想显示图片.那么我们就要找一个图片.并且放到 <strong>drawable</strong>中.然后进行引用</p>
<p>属性如下:</p>
<pre><code>android:drawableRight = "@drawable/xxxx图片"显示图片在文字的右边,同样有上边左边下边等
</code></pre>
<p>添加图片到drawable中.选中drawable直接Ctrl+V粘贴即可.或者你自己选择图片路径</p>
<p><img src="https://img2020.cnblogs.com/blog/1197364/202008/1197364-20200830004248869-363383997.png" alt="" loading="lazy"></p>
<p>对应xml</p>
<pre><code class="language-xml">&lt;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"&gt;
    &lt;/TextView&gt;
</code></pre>
<p>图片资源自己找. 效果图如下</p>
<p><img src="https://img2020.cnblogs.com/blog/1197364/202008/1197364-20200830005431389-1562857410.png" alt="" loading="lazy"></p>
<h3 id="23-textview设置中划线以及下划线">2.3 TextView设置中划线以及下划线</h3>
<p>要设置中划线 就要写代码进行设置了,不过我们要建立一个新的textview 并为其分配一个ID便于我们操作</p>
<p>写代码前两句还是一样</p>
<p>1.声明控件</p>
<p>2.找到控件,并强转.</p>
<p>只不过此时我们需要调用其中的方法了.而不是设置事件</p>
<p>在 <strong>TextViewActive</strong>下的代码如下</p>
<p>代码如下:</p>
<pre><code class="language-java">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("&lt;u&gt;Html形式&lt;/u&gt;"));
    }
}
</code></pre>
<p>active_view设置的xml描述如下</p>
<pre><code class="language-xml"> &lt;TextView
      android:id="@+id/Text_ViewId5"
      android:layout_width="wrap_content"
      android:layout_height="100dp"
      android:text="中划线"
      android:layout_marginTop="20dp"
      android:textSize="20sp"&gt;

    &lt;/TextView&gt;
</code></pre>
<p>点击按钮运行则会看到最终效果</p>
<p><img src="https://img2020.cnblogs.com/blog/1197364/202008/1197364-20200830010813953-1034927075.png" alt="" loading="lazy"></p>
<p>点击之后则会跳转到TextView中</p>
<p><img src="https://img2020.cnblogs.com/blog/1197364/202008/1197364-20200830010849078-653583123.png" alt="" loading="lazy"></p>
<p>已经实现了中划线的效果</p>
<p>下划线如下</p>
<p><img src="https://img2020.cnblogs.com/blog/1197364/202008/1197364-20200830011344311-551944316.png" alt="" loading="lazy"></p>
<p>html如下</p>
<p><img src="https://img2020.cnblogs.com/blog/1197364/202008/1197364-20200830011905309-1412647582.png" alt="" loading="lazy"></p>
<p>html需要了解 html标签以及语法等. 代码的话要使用 setText来设置.</p>
<h3 id="24-跑马灯效果设置">2.4 跑马灯效果设置</h3>
<p>跑马丁就是 文字循环显示</p>
<p>那么我们就要设置以下几个属性</p>
<pre><code>android:singleLine="true"                                                //设置为单行显示,不过被弃用了.后面可以百度看一下解决方法
android:ellipsize="marquee"                     // 显示条目设置
android:marqueeRepeatLimit="marquee_forever"   //设置循环次数,marquee_forever代表一致循环
android:focusable="true"                                           //设置焦点
android:focusableInTouchMode="true"            //设置焦点模式
</code></pre>
<p>xml代码如下</p>
<pre><code class="language-xml">    &lt;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"&gt;

    &lt;/TextView&gt;
</code></pre>
<p>运行之后就会显示</p>


</div>
<div id="MySignature" role="contentinfo">
    <div>作者:IBinary</div> <div>出处:https://www.cnblogs.com/iBinary/ </div> <br> <br>
坚持两字,简单,轻便,但是真正的执行起来确实需要很长很长时间.当你把坚持两字当做你要走的路,那么你总会成功.
想学习,有问题请加群.群号:725864912(收费)群名称: 逆向学习小分队 群里有大量学习资源. 以及定期直播答疑.有一个良好的学习氛围. 涉及到外挂反外挂病毒 司法取证加解密 驱动过保护 VT 等技术,期待你的进入。
<br><br>
详情请点击链接查看置顶博客
https://www.cnblogs.com/iBinary/p/7572603.html
<p>本文来自博客园,作者:iBinary,未经允许禁止转载 转载前可联系本人.对于爬虫人员来说如果发现保留起诉权力.https://www.cnblogs.com/iBinary/p/13584207.html</p>
欢迎大家关注我的微信公众号.不定期的更新文章.更新技术. 关注公众号后请大家养成 不白嫖的习惯.欢迎大家赞赏. 也希望在看完公众号文章之后 不忘 点击 收藏 转发 以及点击在看功能.
<img src = "https://images.cnblogs.com/cnblogs_com/iBinary/1827080/o_220306121308_qrcode_for_gh_b8b8f84e4988_258.jpg" alt="微信公众号">
QQ群:
<img src="https://images.cnblogs.com/cnblogs_com/iBinary/1827080/o_21062107294320210621152919.png" alt="QQ群"><br><br>
来源:https://www.cnblogs.com/iBinary/p/13584207.html
頁: [1]
查看完整版本: Android 开发第四讲 TextView的基本使用