熬夜再战Android从青铜到王者-初识TextView及阴影效果

2,528 阅读3分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

欢迎关注公众号【空名先生】获取更多资源和交流!

👉前提

文字是人类用符号记录表达信息以传之久远的方式和工具。几千年来我们都在乐此不疲地使用它。于你于我于她,没有高低贵贱之分。

这是小空熬夜写的Android系列,欢迎品尝。

TextView是Android中最简单也是最常见的控件。今天小空就带大家会会她。

👉实践过程

😜初识

经过前两篇常用属性和不常用属性的讲解,是不是有些懵了,不要慌,真实开发中用到的属性其实连五分之一都到不了。

我们先来创建个基本的文本控件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".TextActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:text="爱是一道光,绿到你发慌"
        android:textColor="#00ff00"
        android:textSize="20sp" />
</RelativeLayout>

结合上面属性列表,运行效果是这样的:

image.png

那上面代码写的对吗

,一点都没错,否则怎么能看到效果了。

那还有更好的方式吗?

,就是将text和textColor提出来,放到专门的文件里,text在【res-values-strings.xml中】,textColor在【res-values-colors.xml】中。

image.png

那么我们这么做的好处是什么呢

你想象下有这么个场景:不同的页面都有相同的文本,在不同的页面布局有对应的TextView,这就存在多个text,当有一天需要修改这个文本的时候,你难道每个文本都改一遍(其实完全可以)?但是如果我们把text提出到【strings.xml】中,所有页面都能引用,以后遇见修改只需要修改【strings.xml】中的那一个文本就行了。

这就是文本配置文件,同理color是在颜色配置文件中【colors.xml】。

解决国际化需求也只需要再提供一个英文的【string.xml】即可。

😜文字阴影

某天,产品经理过来提需求了:小空啊,文本看起来一般啊,咱能更强大些吗?比如,立体些,你知道的,那样更有吸引力。

小空不搭理他,直接反手就是代码,必须要用该属性秀他一脸。

  • android:shadowColor:设置阴影颜色
  • android:shadowRadius:设置阴影模糊程度,必须要有该属性
  • android:shadowDx :设置阴影在水平方向的偏移,向右为正,向左为负
  • android:shadowDy:设置阴影在竖直方向的偏移,向下为正,向上为负
<TextView
    android:id="@+id/myTest"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:layout_centerInParent="true"
    android:layout_gravity="bottom"
    android:gravity="center"
    android:text="@string/test"
    android:textStyle="normal"
    android:shadowColor="#ff0000"
    android:shadowRadius="10"
    android:shadowDx="20"
    android:shadowDy="20"
    android:textColor="@color/green"
    android:textSize="26sp" />

image.png

👉其他

📢作者:小空和小芝中的小空

📢转载说明-务必注明来源:芝麻粒儿 的个人主页 - 专栏 - 掘金 (juejin.cn)

📢欢迎点赞👍收藏🌟留言📝