Android---TextView基础属性 + 跑马灯的三种方式
<?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基础属性 + 跑马灯的三种方式的更多相关文章
- Android:TextView 自动滚动(跑马灯) (转)
Android:TextView 自动滚动(跑马灯) TextView实现文字滚动需要以下几个要点: 1.文字长度长于可显示范围:android:singleLine="true ...
- Android - 页面返回上一页面的三种方式
今年刚刚跳槽到了新公司,也开始转型做Android,由此开始Android的学习历程. 最近在解很多UI的bug,在解bug过程中,总结了在UI的实现过程中,页面返回上一页面的几种实现方式. 一. 自 ...
- Python基础之格式化输出的三种方式
目录 1. 格式化输出的三种方式 1.1 占位符 1.2 format格式化 1.3 f-string格式化 1. 格式化输出的三种方式 在程序中,需要将输出信息打印成固定的格式,这时候就需要格式化输 ...
- Android TextView里直接显示图片的三种方法
方法一:重写TextView的onDraw方法,也挺直观就是不太好控制显示完图片后再显示字体所占空间的位置关系.一般假设字体是在图片上重叠的推荐这样写.时间关系,这个不付源代码了. 方法二:利用Tex ...
- Android 监听软键盘按键的三种方式
前言: 我们在Android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的“Go”按键加载url页面:在点击搜索框的时候,点击右下角的searc ...
- Android 开发添加控件事件的三种方式
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view ...
- JSP | 基础 | 新建Hello world 的三种方式
第一种: 直接写一个 test.jsp 文件到ROOT文件目录下,内容如下,访问 “http://localhost:8080/test.jsp” <%-- Licensed to the Ap ...
- Android - TextView Ellipsize属性
Android - TextView Ellipsize属性 本文地址: http://blog.csdn.net/caroline_wendy android:ellipsize属性: If set ...
- Android平台中实现对XML的三种解析方式
本文介绍在Android平台中实现对XML的三种解析方式. XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能. 在 ...
- Android 使用OpenCV的三种方式(Android Studio)
http://blog.csdn.net/sbsujjbcy/article/details/49520791 其实最早接触OpenCV是很久很久之前的事了,大概在2013年的5,6月份,当时还是个菜 ...
随机推荐
- pycharm的docstring多了一行type
注释中多了一行:type 设置为Epytext PyCharm 2020.3.5 (Community Edition) def test(param1,param2,param3): "& ...
- vs不同版本支持的c++版本和PlatformToolset,及在vs中切换c++版本
找c++资料从网上找确实更快速,但要想深入地理解vc++建议看msdn文档. vs不同版本支持的c++版本 C++17: vs2017基本支持,vs2015部分支持. C++14: vs2017就可以 ...
- Unity2020或Unity2019安装后无法启动
无法启动Unity 下载国际版的Unity2020,双击Unity.exe无法启动,通过Unity Hub也无法启动 原因 通过查看unity hub的日志发现Unity 启动的时候会检查 lie ...
- vim 从嫌弃到依赖(13)——motion 进阶
在最开始的时候我们介绍了一些vim中的motion 包括如何在字符间.单词间.行间以及多行间移动.·但是motion中的内容可远不止我们介绍的这些,平时用到的也远不止之间介绍的那些. 之所以没有一次介 ...
- 【任务调度】Spring 的动态定时任务之 ScheduledTaskRegistrar(解决方案一)
前言 在做SpringBoot项目的过程中,有时客户会提出按照指定时间执行一次业务的需求. 如果客户需要改动业务的执行时间,即动态地调整定时任务的执行时间,那么可以采用SpringBoot自带 ...
- 3.4 DLL注入:全局消息钩子注入
SetWindowHookEx 是Windows系统的一个函数,可用于让一个应用程序安装全局钩子,但读者需要格外注意该方法安装的钩子会由操作系统注入到所有可执行进程内,虽然该注入方式可以用于绕过游戏保 ...
- Linux的进程管理 [补档-2023-07-25]
Linux进程管理 9-1并发与并行: 并发:在同一个cpu上,并且在一个时间段时,同时运行多个程序.比如在1000毫秒内,我们有5个程 序需要执行,所以我们可以将1000毫秒分为5个200毫秒, ...
- 6、后端学习规划:Java学习 - 学习规划系列文章
Java语言在现在的编程语言排行榜上也是前5的存在.经过这么些年的发展,Java的发展没有C#这么大,但是在编程领域,因为有MVC架构,以及Spring框架的支持,以及微服务架构等等,Java这些年也 ...
- ProTab(高级表格)的使用
一. params 和 request 属性的使用 例子如下: import React, { useState } from 'react'; import { ProTable } from '@ ...
- React 的学习笔记一 (未完结)
一.React 是什么 React 是一个声明式,高效且灵活的用于构建用户界面的 JavaScript 库.使用 React 可以将一些简短.独立的代码片段组合成复杂的 UI 界面,这些代码片段被称作 ...