<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 基础属性详解:-->
<!-- 1.textColor:设置字体颜色-->
<!-- 2.textStyle:设置字体风格 normal(无效果) bold(加粗) italic(斜体)-->
<!-- 3.textSize:字体大小,单位一般使用sp-->
<!-- 4.background:控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片-->
<!-- 5.gravity:设置控件中内容的对齐方向,TextView中是文字,ImageView中是图片等等-->
<!-- match_parent:取得 LinearLayout 容器的宽度.-->
<!-- wrap_content:根据里面的内容自动分配宽度-->
<!-- 可以数字设置 dp--> <!-- java 代码设置文本 -> tv_one.setText("zhengleiya");-->
<!-- 将xml文本中的设置文本覆盖--> <!-- 在合适的位置设置合适的属性--> <!-- 带阴影的TextView-->
<!-- 1.android:shadowColor:设置阴影颜色,需要与shadowRadius一起使用-->
<!-- 2.android:shadowRadius:设置阴影的模糊程度,设为0.1就变成字体颜色了,建议使用3.0-->
<!-- 3.android:shadowDx:设置阴影在水平方向的偏移,就是水平方向阴影开始的横坐标位置-->
<!-- 4.android:shadowDy:设置阴影在竖直方向的偏移,就是竖直方向阴影开始的纵坐标位置--> <!-- 实现跑马灯的效果-->
<!-- 1.android:singleLine:内容单行显示-->
<!-- 2.android:focusable是否可以获取焦点-->
<!-- 3.android:focusableInTouchModel:用于控制视图在触摸模式下是否可以聚焦-->
<!-- 4.android:ellipsize在哪里省略文本-->
<!-- 5.android:marqueeRepeatLimit:字幕动画重复的次数--> <!-- 跑马灯方式一:-->
<!-- android:clickable="true":可以点击-->
<!-- 方式二:-->
<!-- 新建类,并继承TextView,实现前三个构造方法-->
<!-- 重写 isFocused 并返回 true-->
<!-- 将xml TextView 换成自定义全类名 <com.example.basicattribute.MyTextView--> 方式三
<!-- <requestFocus/> 请求焦点--> <TextView
android:id="@+id/tv_one"
android:text="@string/tv_one"
android:textColor="#FF000000"
android:textStyle="normal"
android:textSize="30sp"
android:gravity="center_vertical" android:shadowColor="@color/red"
android:shadowRadius="3.0"
android:shadowDx="10.0"
android:shadowDy="10.0" android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"
android:clickable="true" android:layout_width="match_parent"
android:layout_height="200dp">
<requestFocus/> </TextView> /> </LinearLayout>
 1 // 新建类 MyTextView
2 package com.example.basicattribute;
3
4 import android.content.Context;
5 import android.util.AttributeSet;
6 import android.widget.TextView;
7
8 import androidx.annotation.Nullable;
9
10 public class MyTextView extends androidx.appcompat.widget.AppCompatTextView {
11 public MyTextView(Context context) {
12 super(context);
13 }
14
15 public MyTextView(Context context, @Nullable AttributeSet attrs) {
16 super(context, attrs);
17 }
18
19 public MyTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
20 super(context, attrs, defStyleAttr);
21 }
22
23 @Override
24 public boolean isFocused() {
25 return true;
26 }
27 }

Android---TextView基础属性 + 跑马灯的三种方式的更多相关文章

  1. Android:TextView 自动滚动(跑马灯) (转)

    Android:TextView 自动滚动(跑马灯)       TextView实现文字滚动需要以下几个要点: 1.文字长度长于可显示范围:android:singleLine="true ...

  2. Android - 页面返回上一页面的三种方式

    今年刚刚跳槽到了新公司,也开始转型做Android,由此开始Android的学习历程. 最近在解很多UI的bug,在解bug过程中,总结了在UI的实现过程中,页面返回上一页面的几种实现方式. 一. 自 ...

  3. Python基础之格式化输出的三种方式

    目录 1. 格式化输出的三种方式 1.1 占位符 1.2 format格式化 1.3 f-string格式化 1. 格式化输出的三种方式 在程序中,需要将输出信息打印成固定的格式,这时候就需要格式化输 ...

  4. Android TextView里直接显示图片的三种方法

    方法一:重写TextView的onDraw方法,也挺直观就是不太好控制显示完图片后再显示字体所占空间的位置关系.一般假设字体是在图片上重叠的推荐这样写.时间关系,这个不付源代码了. 方法二:利用Tex ...

  5. Android 监听软键盘按键的三种方式

    前言: 我们在Android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的“Go”按键加载url页面:在点击搜索框的时候,点击右下角的searc ...

  6. Android 开发添加控件事件的三种方式

    import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view ...

  7. JSP | 基础 | 新建Hello world 的三种方式

    第一种: 直接写一个 test.jsp 文件到ROOT文件目录下,内容如下,访问 “http://localhost:8080/test.jsp” <%-- Licensed to the Ap ...

  8. Android - TextView Ellipsize属性

    Android - TextView Ellipsize属性 本文地址: http://blog.csdn.net/caroline_wendy android:ellipsize属性: If set ...

  9. Android平台中实现对XML的三种解析方式

    本文介绍在Android平台中实现对XML的三种解析方式. XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能. 在 ...

  10. Android 使用OpenCV的三种方式(Android Studio)

    http://blog.csdn.net/sbsujjbcy/article/details/49520791 其实最早接触OpenCV是很久很久之前的事了,大概在2013年的5,6月份,当时还是个菜 ...

随机推荐

  1. 开源IM项目OpenIM新版本发布-生产环境需更新

    项目简介 Android体验地址:https://www.pgyer.com/OpenIM 注册后自动加入组织,和群聊 群聊页面 工作台 工作台,业务可以通过jssdk自由扩展自身业务 工作圈 工作圈 ...

  2. 常见的for循环优化方式

    ?> 前言 经常使用一些循环,进行耗时计算的操作,特别是 for 循环,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当,将大大提高效率,下面总结几条 for 循环的常见优化 ...

  3. LyScript 验证PE程序开启的保护

    有些漏洞利用代码需要在某个保护模式被关闭的情况下才可以利用成功,在此之前需要得到程序开启了何种保护方式.验证其实有很多方法,其原理是读入PE文件头部结构,找到OPTIONAL_HEADER.DllCh ...

  4. Yarp 与 Nginx性能大比拼不出所料它胜利了!

    Yarp 与 Nginx 性能大比拼 测试环境: Ubuntu 22.04.3 LTS (GNU/Linux 6.5.0-14-generic x86_64) Intel(R) Xeon(R) CPU ...

  5. 如何修改11g RAC集群名称

    背景:有一套11.2.0.4 RAC集群的环境,为了测试DG,直接复制了一套一模一样的环境,修改过IP之后,依然有问题,无法同时启动. 初步判断是因为在同一子网存在两个同名的集群(都是jystdrac ...

  6. 穿透 SESSION 0 隔离

    注:这套程序在这里只是作为了解,博主本人并未测试,所有测试均来自文章最底层链接的原文章. 查看目标进程运行的SESSION位置 在实际开发过程中,可以通过Process Explorer 检查服务或程 ...

  7. MySQL 报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket

    MySQL 报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket 一.错误现场还原: 下面我们通过三种方式 ...

  8. 【.NET】聊聊 IChangeToken 接口

    由于两个月的奋战,导致很久没更新了.就是上回老周说的那个产线和机械手搬货的项目,好不容易等到工厂放假了,我就偷偷乐了.当然也过年了,老周先给大伙伴们拜年了,P话不多讲,就祝大家身体健康.生活愉快.其实 ...

  9. NAND Flash 寿命算法——Wear leveling

    由于闪存的可擦写次数是有限的,当某些数据被频繁修改时容易导致对应的块很快被耗尽使用寿命,从而导致整块盘无法使用,所以需要有一种技术来将这些块的擦写均摊一下,延长使用寿命. 首先看几个相关的基本概念: ...

  10. 修改文件权限后Git 文件目录被标记为修改

    刚打开IDE,工作区的代码状态全部变成修改未提交的状态了?这是这么回事?这是因为Git忽略文件权限或者拥有者改变导致的git状态变化.默认Git会记录文件的权限信息,如果文件的权限信息被修改,在Git ...