【Android笔记】TextView,字符相关常见知识

997 阅读5分钟

一、 TextView

1. 本体

1、基本用法:

textView.setTextColor(Color.WHITE) 
textView.setTextColor( Color.parseColor("#2199FC")) 

setTextColor(Color.WHITE)
setTextColor("#FF0041D5".parseColor())

//字符串拼接带换行符
String.format("%.2f %sMB/S", speed, System.getProperty("line.separator"))

2、 加入Drawable

  1. 代码中设置:安卓 TextView 设置Drawable大小
  • 除了对应的drawablepadding还能想办法设置宽度,再使用padding左右控制与文字的间距;
  • 动态设置Drawable资源

3、关于打印

  • mBindView.tvTitleDate.text=date.tag//值是空白
  • mBindView.tvTitleDate.text="${date.tag}"//值是null,会打印出来

2、 与Linear的交互

1、 indexOfChild,getChildAt,View.parent,传递text的值结合设置style,快速叠楼,且满足拓展打点,贼好用,点击事件统一处理,建立组list判断包含;

3、缺陷

1、 点击缺陷:例如长按松手不会回调,偶尔点按不会触发按下和点击状态。

二、EditView

1、显示默认占位图:android:hint

  • hint颜色:textColorHint

2、设置高度随内容变化

  • android:minHeight="@dimen/dp_60"
  • android:layout_height="wrap_content"

三、字符相关

1、增删改查

1、Java基础 String的增删改查

  1. 去除空格与整体替换:android去掉字符串所有空格
  2. 代码中处理字符个人喜欢用删

2、拼接测试

1、 StringBuilder连接最快,倍数以k计:

  • 参考链接:内存优化
  • 所以程序中好别用+来连接字符串

image.png

2、如果要拼接不同颜色字符串则需要用 SpannableStringBuilder

3、占位符管理

占位符与动态字符串

  1. java怎么取字符串前几位字符?
  2. 核心在于getString方法,和c语言%c是一样的,若是资源文件需要有占位
  3. xml占位符 例如空格等等,不加占位符的话,收尾空格textview会自动去除 在这里插入图片描述 在这里插入图片描述

1.4.4 Android中Textview文字设置不同颜色、下划线、加粗、超链接 1)设置超链接会变色,还有会跳出去 2)setSpan(object : ClickableSpan 自带下划线 3)tvPrivacyPolicy.setMovementMethod click才生效,点击和超链接

Android设置TextView中部分字体颜色和点击事件_neuHenry的博客-CSDN博客

三、编码

1、 char码值对照表_weixin_34342905的博客-CSDN博客

1.1 英文字符,阿拉伯数字,常见标点符号。

2、 Unicode 字符编码表|汉字Unicode编码的区间为:0x4E00→0x9FA5(转)

3、 Unicode 和 UTF-8 有什么区别?

4、 ASCII码对照表 (oschina.net)

4.1 同Ascll码,大写在前;

5、 Android 实现中文按拼音排序方法_暴走邻家的博客-CSDN博客_android 按拼音排序

四、多语言

5. 多语言适配

1、使用插件:AndroidStringTool,excell准备相应文档

2、设置多语言当中只使用当前xml

<string name="back" translatable="false">xxx;</string>

3、常见国家简写

4、Android国际化多语言切换

5、Android string 数字转阿拉伯语言格式 String.format(Locale.getDefault()

6、%为 作为%d这类待替换的标识符号优先级非常高,不做特殊处理会对后面最近的一个非空字符执行%,例 35%meter会导致(%m)crash,应该使用 35%% (双%%表示字符%自身不替换) ,阿语用d%

7、Android原生多语言切换方案,兼容Android10

  1. SpannableStringBuilder控制某几个字颜色

8、几需一行代码完成多语言切换 | Blankj's Blog

五、工具方法

1、走马灯样式

  1. 中间的三行代码 设置单行跑马灯一直跑
    <TextView
        android:id="@+id/Run_textid"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:textSize="40dp"
        android:text="Hello World!Hello World!"
        
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
        android:singleLine="true"
        
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
  1. MainAC设置选中
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        Run_textid.isSelected=true
    }
}
  1. 效果图 image.png

2、EditText 搜索优化