Android studio中控件TextView学习

news2024/11/26 11:27:11

1、TextView 基础属性

  1. layout_ width; 组件的宽度
  2. layout. _height: 组件的高度
  3. id: 为TextView设置- -个组件id
  4. text; 设置显示的文本内容
  5. textColor: 设置字体颜色
  6. textStyle: 设置字体风格,三个可选值: n normal(无效果),bold(加粗), italic(斜体)
  7. textSize: 字体大小,单位一般是用sp
  8. background: 控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片
  9. gravity: 设置控件中内容的对齐方向,TextView中是文字, ImageView中是图片等等。

代码练习:

<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <TextView
        android:id="@+id/tv_one"
        android:text="@string/tv_one"
        android:textColor="@color/black"
        android:textStyle="bold"
        android:textSize="20sp"
        android:background="@color/red"
        android:gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="200dp">

    </TextView>

</LinearLayout>

2、带阴影的TextView

  1. android:shadowColor:设置阴影颜色,需 要与shadowRadius-起使用
  2. android:shadowRadius:设置阴影的模糊程 度,设为0.1就变成字体颜色了,建议使用3.0
  3. android:shadowDx:设置阴影在水 平方向的偏移就是水平方向阴影开始的橫坐标位置
  4. android:shadowDy:设置阴影在竖 直方向的偏移就是竖直方向阴影开始的纵坐标位置

代码练习:

<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    xmlns:andro>

    <TextView
        android:
        android:text="@string/tv_one"
        android:textColor="@color/black"
        android:textStyle="bold"
        android:textSize="20sp"
        android:shadowColor="@color/red"
        android:shadowRadius="3.0"
        android:shadowDx="10.0"
        android:shadowDy="10.0"
        android:gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="200dp">

    </TextView>

</LinearLayout>

3、实现跑马灯的三种方式

第1种方式:手动点击 TextView ,自动跑起来

TextView跑马灯相关属性介绍:

  • android:ellipsize=“marquee” 内容单行显示
  • android:focusable=“true” 是否可以获取焦点
  • android:focusableInTouchMode=“true” 用于控制视图在触摸模式下是否可以聚焦
  • android:ellipzise 在哪里省略文本
  • android:marqueeRepeatLimit=“marquee_forever” 字幕动画重复的次数
  • android:clickable=“true” 可以点击

代码如下(示例):

> activity_main.xml
>     android:ellipsize="marquee"
>     android:marqueeRepeatLimit="marquee_forever"
>     android:focusable="true"
>     android:focusableInTouchMode="true"
>     android:clickable="true"

第2方式:自定义 MyTextView , 不用点击 TextView,启动后直接跑起来

代码如下(示例):

package com.example.my1;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;

import androidx.annotation.Nullable;

public class MyTextView extends androidx.appcompat.widget.AppCompatTextView {
    public MyTextView(Context context) {
        super(context);
    }

    public MyTextView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public MyTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public boolean isFocused() {

        return  true;
    }
}

activity_main.xml

<com.example.my1.MyTextView
    android:id="@+id/tv_one"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:text="@string/tv_one"
    android:textSize="30sp"
    android:textColor="@color/black"
    android:textStyle="italic"
    android:background="@color/white"
    android:gravity="center_vertical"
    android:shadowColor="@color/red"
    android:shadowRadius="3.0"
    android:shadowDx="10.0"
    android:shadowDy="10.0"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusableInTouchMode="true"
    tools:ignore="MissingConstraints"
    android:singleLine="true">
</com.example.my1.MyTextView>

第3方式:改回TextView , 加个 requestFocus

代码如下(示例):

<TextView
    android:id="@+id/tv_one"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:text="@string/tv_one"
    android:textSize="30sp"
    android:textColor="@color/black"
    android:textStyle="italic"
    android:background="@color/white"
    android:gravity="center_vertical"
    android:shadowColor="@color/red"
    android:shadowRadius="3.0"
    android:shadowDx="10.0"
    android:shadowDy="10.0"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusableInTouchMode="true"
    tools:ignore="MissingConstraints"
    android:singleLine="true">
    <requestFocus/>
</TextView>

以上就是Android比较初学者中的,Android studio中TextView控件学习,技术是一步一步累积的。如何快速进阶Android开发技术呢?需要一个学习路径和一套完整的学习资料,在这里我推荐一部市面上比较完整的《Android核心技术进阶手册》里面对初学者也是很友好的,如果你是刚毕业或者开发一两年;那么这将对你进步很有帮助,需要可以点击获取方式参考哦!

总结

关于Android中的控件还有很多,常用控件有:

  • TextView :用于显示文字
  • EditText :输入框控件
  • Button 按钮控件
  • ImageView 图片显示控件
  • RadioButton 单选按钮控件
  • CheckBox 复选框控件

Android的学习之路还有很多,但是也不用着急;技术都是靠累积的,一步一步来就好哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/4295.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Springboot @Async 失效的坑

异步应用场景 为了提高接口的响应性能&#xff0c;当业务非常复杂的情况下&#xff0c;可以将一部分跟业务关联性不是特别强的逻辑进行异步处理。如日志记录、短信发送、增加积分等。通常而言会将此类业务逻辑通过异步的方式进行处理&#xff0c;从而加快接口的响应速度&#…

【HMS Core】集成多种HMS Core服务,让APP成为旅行小助手

1 介绍 Duration: 5:00 总览 旅行者能够使用该应用在华为地图上搜索附近名胜景点、游玩去处或是附近ATM、餐馆和医院等。 服务场景描述 Tourism应用通过集成机器学习服务的地标识别能力&#xff0c;能够提供旅行过程所有必要的信息&#xff0c;还可以识别图片中的地标建筑。…

[Python]字符串常用操作与方法

前言 系列文章目录 [Python]目录 文章目录前言1. 字符串的常用操作1.1 格式化输出1.1.1 %1.1.1.1 语法1.1.1.2 字符串格式操作符(%)的格式化符号%c&#xff1a;以字符的形式格式化输出整数或长度为1的字符串%r&#xff1a;将数据格式化为供解释器读取的形式%s&#xff1a;将数据…

一文带你精通Git

一文带你精通git回顾git对象树对象提交对象重新认识git 基本命令git 高层命令分支&#xff08;特别重要&#xff09;分支冲突&分支合并git 存储git 后悔药远程分支和团队协作远程仓库冲突回顾 博主之前直接已经写过了git的相关基础博客了,老铁可以自行去查看。本篇文章的目…

【分割链表】

目录&#xff1a;前言一、题目描述二、算法思想&#xff08;一&#xff09;值交换1、题目解析2、代码实现&#xff08;二&#xff09;重构链表1、题目解析2、代码实现总结前言 大家好&#xff0c;今天我们来了解一下leetcode中比较简单的单链表问题。 一、题目描述 题目描述如…

MySQL事务隔离级别

MySQL的四种隔离级别 读未提交读提交可重复读串行化 隔离级别可以通过MySQL的视图来实现。 读未提交 读未提交是一个事务仅修改了数据但还未提交时&#xff0c;本次修改可以便可被其他事务查询到变更后的值。读未提交隔离级别下&#xff0c;其他事务进行查询时&#xff0c;直…

新手小白学JAVA 日期类Date SimpleDateFormat Calendar

Date日期类 类 Date 表示一个特定的瞬间&#xff0c;精确到毫秒 1.1 Date的构造函数 Date() 分配一个 Date 对象&#xff0c;以表示分配它的时间&#xff08;精确到毫秒&#xff09; Date(long date) 分配一个 Date 对象&#xff0c;表示自从标准基准时间起指定时间的毫秒数 标…

【Java实验五】继承与多态

一、实验一 对于父类的含参构造方法&#xff0c;子类必须通过super调用&#xff0c;重写父类的构造方法 设计一个应用程序要求&#xff1a; 设计一个表示二维平面上点的类Point&#xff0c;包含有表示坐标位置的protected类型的成员变量x和y&#xff0c;获取和设置x和y值的publ…

SpringBoot项目的创建(三):手动创建一个Maven工程,然后引入SpringBoot所需的dependency来完成 (不需联网,但复杂)

SpringBoot项目的创建1.配置Maven环境。2.创建一个新的maven项目3.创建出来的目录结构4 继承springboot父项目5.添加Spring Boot Maven插件6.添加spring和web模块的依赖7.创建入口类8.添加代码测试1.配置Maven环境。 在以maven方式创建Spring Boot项目之前&#xff0c;需要先确…

交换网络基础

交换网络基础网络基础交换机的转发行为数据帧分类交换机MAC地址表ping包来回过程VLAN概念&#xff1a;VLAN接口类型ICMP返回值网络基础 路由器&#xff1a;基于3层路由表转发交换机&#xff1a;基于2层MAC地址表转发&#xff0c;数据帧转发 交换机的转发行为 泛洪&#xff1…

Buffer Pool Size of Total RAM No data

1.问题描述 1)问题现象 通过prometheus监控mysql实例和服务器&#xff0c;使用grafana做可视化展示&#xff0c;grafana 中添加 7362 号dashboard 作为mysql看板&#xff0c;添加 11074 号dashboard 作为主机看板。但是添加后查看 MySQL Overview 看板发现 Buffer Pool Size …

Python制作GUI学生管理系统毕设,大学生总会用得到

有很多可爱的大学生跟我吐槽&#xff1a; 咋这个大学跟我想象的不一样呢&#xff1f; 老师叫我们自己做… 还是那句话&#xff0c;技术才是硬道理 源码、资料电子书文末名片获取 有个经典案例就是 学生管理系统 写完了放在那也是放着&#xff0c;所以今天分享给大家吧&…

2022第四届长安杯复盘

容器加挂密码&#xff1a;2022.4th.changancup! 案件背景&#xff1a; 某地警方接到受害人报案称其在某虚拟币交易网站遭遇诈骗&#xff0c;该网站号称使用”USTD币“购买所谓的"HT币”&#xff0c;受害人充值后不但 “HT币”无法提现、交易&#xff0c;而且手机还被恶意…

PID算法

目录 一、PID算法 二、模拟PID 模拟PID调节器的控制规律为 模拟PID调节器的传递函数为 三、数字PID P控制 PI控制 PD控制 PID控制 数字PID增量型控制算式 PID位置型控制算式 一、PID算法 PID控制是最早发展的自动控制策略之一&#xff0c;是微机化控…

C++ opencv图像存储和MAT容器

1.图像在内存之中的存储方式: 图像矩阵的大小取决于所用的颜色模型&#xff0c;确切说&#xff0c;取决于所用通道数。如果是灰度图像&#xff0c;矩阵就会如图5.1所示。 对于多通道图像来说&#xff0c;矩阵中的列会包含多个子列&#xff0c;其子列个数与通道数相同&#xf…

【运筹优化】结合天际线启发式的蚁群算法求解二维矩形装箱问题 + Java代码实现

文章目录一、天际线启发式二、蚁群算法结合天际线启发式2.1 构建序列2.1.1 思路一2.1.2 思路二2.1.3 思路N三、Java代码实现3.1 项目结构3.2 Ant3.3 ACO3.4 Run3.5 运行结果展示3.5.1 思路一3.5.2 思路二3.5.3 思路N四、小结一、天际线启发式 关于天际线启发式的介绍请看我的另…

推荐算法---矩阵分解

矩阵分解报告 1. 试验介绍 矩阵分解就是把原来的大矩阵&#xff0c;近似的分解成小矩阵的乘积&#xff0c;在实际推荐计算时不再使用大矩阵&#xff0c;而是使用分解得到的两个小矩阵。具体来说就是&#xff0c;假设用户物品的评分矩阵R是m乘n维&#xff0c;即一共有m个用户&…

Redis资料整理

Redis--->是非关系型数据库(也称缓存数据库),是一种NoSQL数据库 存放5种数据类型 String key-value形式 另外list,set,zset,hash 另外两种不常用的:bitmap(位图类型),geo(地理位置类型),另外Redis5.0新增 stream类型 相对来说Redis适合存放少数据量的数据,如果需要存放…

BERT知识蒸馏TinyBERT

1. 概述 诸如BERT等预训练模型的提出显著的提升了自然语言处理任务的效果&#xff0c;但是随着模型的越来越复杂&#xff0c;同样带来了很多的问题&#xff0c;如参数过多&#xff0c;模型过大&#xff0c;推理事件过长&#xff0c;计算资源需求大等。近年来&#xff0c;通过模…

PX4基本配置

目录 下载固件 下载原生稳定版固件 安装PX4 Master, Beta或自定义固件 FMUv2 Bootloader 更新 机架设置 飞行控制器/传感器方向 计算朝向 设置朝向 罗盘校准 执行校准 陀螺仪校准 # 执行校准 加速度计 执行校准 空速计校准 执行校准 水平平面校准 执行校准 …