当前位置:   article > 正文

Android学习笔记(四):TextView 设置内容、字体大小、颜色、背景_textview设置字体大小

textview设置字体大小

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

一、TextView 设置内容

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

  1. //strings.xml
  2. <string name="hello">Hello World!</string>
  3. <string name="android">hello Android!</string>
  4. // activity_main.xml
  5. <TextView
  6. android:id="@+id/text1"
  7. android:layout_width="wrap_content"
  8. android:layout_height="wrap_content"
  9. android:text="@string/hello" />
  10. // MainActivity.java
  11. TextView textView = findViewById(R.id.text1);
  12. textView.setText(R.string.android);

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

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

        第二种,就是通过TextView对象利用 setText 函数设置内容。

        注意,xml设置是静态的,java类设置是动态的,先布局时使用静态,再用类中设置的内容动态覆写掉,所以呈现的是后者(java类设置)的内容。

二、TextView 设置字体大小

1、字体字号单位

        我们先了解一下字号单位:

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

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

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

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

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

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

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

2、设置字体大小

  1. // MainActivity.java
  2. TextView textView2 = findViewById(R.id.text2);
  3. textView2.setTextSize(30);
  4. // activity_main.xml
  5. <TextView
  6. android:id="@+id/text3"
  7. android:layout_width="wrap_content"
  8. android:layout_height="wrap_content"
  9. android:text="@string/hello"
  10. android:textSize="35sp"/>

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

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

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

三、TextView 设置字体颜色

  1. <TextView
  2. android:id="@+id/text3"
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content"
  5. android:text="@string/hello"
  6. android:textSize="35sp"
  7. android:textColor="#ff0000"/>
  8. <TextView
  9. android:id="@+id/text4"
  10. android:layout_width="wrap_content"
  11. android:layout_height="wrap_content"
  12. android:text="@string/hello"
  13. android:textSize="40sp"
  14. android:textColor="@color/red"/>
  15. // colors.xml
  16. <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完全不透明。

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

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

四、TextView 设置字体背景颜色 

  1. // xml
  2. <TextView
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content"
  5. android:text="@string/hello"
  6. android:textSize="45sp"
  7. android:textColor="@color/white"
  8. android:background="@color/red"/>
  9. // java
  10. TextView textView4 = findViewById(R.id.text4);
  11. //textView4.setBackgroundColor(Color.GREEN);
  12. textView4.setBackgroundResource(R.color.black);

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

五、总结 

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/472944?site
推荐阅读
相关标签
  

闽ICP备14008679号