• Android学习笔记 1. TextView


    Android学习笔记

    Android基础开发——控件

    1. TextView

    官方文档:

    https://developer.android.google.cn/reference/android/widget/TextView

    1.1 基础属性
    属性含义
    layout_width组件的宽度
    layout_height组件的高度
    id为TextView设置一个组件id
    text设置显示的文本内容
    textColor设置字体颜色
    textStyle设置字体风格:normal:无效果;bold:加粗;italic:斜体
    textSize字体大小,单位一般sp
    background控件的背景颜色,填充整个控件,可以是图片
    gravity设置控件中内容的对齐方式,TextView中是文字,ImageView中是图片
    1.2 演示
    
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        >
    
        <TextView
            android:id="@+id/tv_1"
            android:layout_width="200dp"
            android:layout_height="400dp"
            android:text="DingJiaxiong"
            android:textColor="@color/black"
            android:textStyle="bold"
            android:textSize="30sp"
            android:background="#ff5621"
            android:gravity="center"
            />
        
    LinearLayout>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    在这里插入图片描述

    1.3 带阴影的TextView
    属性含义
    shadowColor设置阴影颜色,需要和shadowRadius一起使用
    shadowRadius设置阴影的模糊程度,0.1 为字体颜色,建议使用3.0
    shadowDx设置阴影在水平方向的偏移,水平方向阴影开始的横坐标位置
    shadowDy设置阴影在竖直方向的偏移,竖直方向阴影开始的纵坐标位置
    android:shadowRadius="3.0"
    android:shadowColor="#ff3523"
    android:shadowDx="10"
    android:shadowDy="20"
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    1.4 实现跑马灯效果的TextView
    属性含义
    singleLine内容单行显示
    focusable是否可以获取焦点
    focusableInTouchMode用于控制视图在触摸模式下是否可以聚焦
    ellipsize在哪里省略文本
    marqueeRepeatLimit字幕动画重复的次数

    新建类MyTextView.java

    package com.dingjiaxiong.mytextview;
    
    import android.annotation.SuppressLint;
    import android.content.Context;
    import android.util.AttributeSet;
    import android.widget.TextView;
    
    import androidx.annotation.NonNull;
    import androidx.annotation.Nullable;
    
    @SuppressLint("AppCompatCustomView")
    public class MyTextView extends TextView {
    
        public MyTextView(@NonNull Context context) {
            super(context);
        }
    
        public MyTextView(@NonNull Context context, @Nullable AttributeSet attrs) {
            super(context, attrs);
        }
    
        public MyTextView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
        }
    
        @Override
        public boolean isFocused() {
            return true;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    xml中更改控件

    
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        >
    
        <com.dingjiaxiong.mytextview.MyTextView
            android:id="@+id/tv_1"
            android:layout_width="match_parent"
            android:layout_height="400dp"
            android:text="DingJiaxiong DingJiaxiong DingJiaxiong DingJiaxiong DingJiaxiong"
            android:textColor="@color/black"
            android:textStyle="bold"
            android:textSize="30sp"
            android:gravity="center"
    
            android:shadowRadius="3.0"
            android:shadowColor="#ff3523"
            android:shadowDx="10"
            android:shadowDy="20"
    
            android:ellipsize="marquee"
            android:marqueeRepeatLimit="marquee_forever"
            android:singleLine="true"
            android:focusable="true"
            android:focusableInTouchMode="true"
            />
        
        
    
    LinearLayout>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    运行

    在这里插入图片描述

    在这里插入图片描述

    这里获取焦点可加可不加,加了效果一样。

  • 相关阅读:
    Docker安装和基本配置
    数据资产安全保卫战:构建多层次、全方位的数据安全防护体系,守护企业核心数据资产安全
    港联证券:资金融通构成强支撑 “一带一路”金融合作开新局
    使用kube-bench检测Kubernetes集群安全
    解决Java应用中的字符编码问题:深入理解JVM编码格式
    How to install mongodb-7.0 as systemd service with podman
    【MySQL】索引与事务
    ZZNUOJ_C语言1055:兔子繁殖问题(完整代码)
    基于Y向连贯性算法的多边形扫描线生成(适用于凸多边形和凹多边形)【原理+java实现】
    易周金融分析 | Q2手机银行活跃用户环比增长2.17%
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/126205960