如图所示我们可以在Android手机设置文本字体大小颜色,以及背景颜色

一、TextView 设置内容

        我们前面章节已经提到过,如何利用TextView模块显示文本内容,在这里简单提及一次吧。

//strings.xml
<string name="hello">Hello World!</string>
<string name="android">hello Android!</string>

// activity_main.xml
<TextView
    android:id="@+id/text1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello" /&gt;

// MainActivity.java
TextView textView = findViewById(R.id.text1);
textView.setText(R.string.android);

        想必,通过前面的学习,你已经能够读懂以上代码的含义,并且,能够对应文件创建对应的值。在上面的代码中,就给出了两种设置内容方式

        第一种,通过xml布局文件中,通过 text= 的方式设置内容

        第二种,就是通过TextView对象利用 setTex函数设置内容注意,类的优先级大于布局文件,即两种同时定义内容,最终显示的是类中设置的内容

二、TextView 设置字体大小

1、字体字号单位

        我们先了解一下字号单位

pxpixel像素): 它是手机屏幕最小显示单位手机屏幕就是由多个像素构成的

dp设备独立像素) : 同一单位在不同设备上有不同的显示效果。当你设置字体大小单位dp其实它最终还是转换px

现在你可以不用太清楚他们之间的转换关系,只要知道dp以下两点特性

1、对于相同分辨率手机,屏幕尺寸越大,同dp组件占用的屏幕比例越小。

2、对于相同尺寸手机分辨率不同,同dp组件占用屏幕的比例是相同的。

因此,我们可以看到,当我们使用dp作为单位时,只要在同一尺寸手机上,无论其分辨率如何可以得到很好的适配。如果你不能够很清晰的理解,你利用Android studio创建不同尺寸,不同分辨率手机进行实验

        除此之外,还有一个 sp ,它与dp类似,区别在于它的大小会跟随系统设置的字体大小改变。

2、设置字体大小

// MainActivity.java
TextView textView2 = findViewById(R.id.text2);
textView2.setTextSize(30);

// activity_main.xml
<TextView
    android:id="@+id/text3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    android:textSize="35sp"/>

        设置字体大小也有两种方式

1、通过TextView对象利用 setTextSize 函数设置大小,你可以看到,在这里不用给出单位,它默认单位sp

2、通过xml布局文件设置, textSize=  

三、TextView 设置字体颜色

    <TextView
        android:id="@+id/text3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello"
        android:textSize="35sp"
        android:textColor="#ff0000"/>

    <TextView
        android:id="@+id/text4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello"
        android:textSize="40sp"
        android:textColor="@color/red"/>

// colors.xml
    <color name="red">#FFFF0000</color>

        从上面的代码可以看到,我们可以从xml布局文件中通过textColor设置字体颜色,也可以在res/values/colors.xml文件定义颜色,并通过“@color/… ”进行引用。其中,颜色的值是#号+16进制数字,且数字可以是8位,也可以是6位。

        例如“#12345678”,数字位从左往右数,第一位和二位“12”,表示字体透明度,00表示完全透明ff表示完全不透明;第3、4位,5、6位,7、8位分别表示红、绿、蓝三种颜色,其代表的值越高,颜色越深,例如:00 00 00 黑色ff 00 00 红色,00 ff 00 绿色,00 00 ff 蓝色ff ff ff 白色。其中,1、2位可以省略不写,则系统默认ff完全不透明。

        TextView textView2 = findViewById(R.id.text2);
        textView2.setTextSize(30);
        textView2.setTextColor(0xff0000ff);
        //textView2.setTextColor(getResources().getColor(R.color.black));

        如上代码所示,我们也可以在java文件实现设置字体颜色,即通过TextView对象调用setTextColor接口。其中,这里设置颜色使用的是8位的16进制数,如果前两位不写,则默认为00完全透明,这与xml文件中的默认设定相反。此外,我们还可以通过getResources().getColor(R.color.black)获取colors.xml文件中的颜色定义来设置颜色。

四、TextView 设置字体背景颜色 

// xml
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello"
        android:textSize="45sp"
        android:textColor="@color/white"
        android:background="@color/red"/>
// java
        TextView textView4 = findViewById(R.id.text4);
        //textView4.setBackgroundColor(Color.GREEN);
        textView4.setBackgroundResource(R.color.black);

        如代码所示,设置背景颜色同样可以通过xml或Java文件设置。在xml文件中,通过background设置;在java中,通过setBackgroundColor设置,传入的参数可以是Color类中静态成员变量或者静态函数接口定义颜色。也可以通过setBackgroundResource接口获取colors.xml文件中的定义来设置颜色。

五、总结 

        通过本章的学习,掌握通过TextView 来设置字体内容、大小、颜色、背景,来满足不同的需求

原文地址:https://blog.csdn.net/CJ_study/article/details/133916549

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_47824.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注