【Android】TextView的使用

发布于:2025-07-17 ⋅ 阅读:(20) ⋅ 点赞:(0)

                               三三想成为安卓糕手

一:TextView的常见属性

1:引入

TextView:文本显示控件,基于TextView还有很多子类,都与文本处理有关,大多数文本控件都是基于TextView设计的,比如下面的按钮button,编辑框EditText等等;主要学习TextView,一法通万法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2:页面跳转

这里我们调整一下页面跳转

		Button btnTest = findViewById(R.id.btn_test);//view这里翻译为视图更加合适
        btnTest.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                Intent intent = new Intent(MainActivity.this , TextViewActivity.class);
                startActivity(intent);
                Log.i("info","hello");//打印日志
            }
        });

3:线性布局

LinearLayout必须设置排列方向

    android:gravity="center"   //视图居中
    android:orientation="vertical"   //垂直的
	//这两句代码是在LinearLayout中阐述的,注意结束>括号

gravity 重力 horizontal [ˌhɔrɪˈzɑnt(ə)l] 水平的

在 Android 中,gravity 用于控制视图内容或者视图自身在容器里的位置。它的取值可以是单个方向(像 topleft),也能是组合方向(例如 top|end)。

orientation 方向[ˌɔriənˈteɪʃ(ə)n]

orientation 主要用于明确线性布局(LinearLayout)的排列方向,或者屏幕的旋转方向

默认是horizontal

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4:Java代码后续修改xml的默认属性

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(1)xml设置文本属性

用xml方式设置一些初始属性,比如文本内容和文字尺寸

    <TextView
        android:id="@+id/tv_Sansan"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:textSize="18sp"
        android:text="里面有纯情女大"/>

后续,Java代码可以更改相应的属性值。

点击是每一个view都拥有的方法;button也好,textview也好,图片等等

我悟了xd,java跳转页面后文字内容和尺寸的改变实际上还是作用在一个activity上,本质只是修改,而非再创建

(2)java修改文本属性

		TextView tvSansan = findViewById(R.id.tv_Sansan);//使用xml中定义的文本控件
		
		

        tvSansan.setOnClickListener(new View.OnClickListener() {
		//对这个按钮设置一个监听器,但是你看不到按钮的样式,只有文字,点就完了
            @Override
            public void onClick(View v) {
                tvSansan.setText("此时一位抠脚大汉闪亮登场");//我们在java中也可以进行文本的设置;xml中设置通常是一些默认属性
                tvSansan.setTextSize(30f);
            }
        });

总结:比如设置字体样式,Java和xml中进行对比,还有很多,慢慢了解

tvSansan.setTypeface(Typeface.DEFAULT_BOLD);//设置默认加粗

(3)修改字体等宽

android:typeface="monospace",在LinearLayout中定义,左图有定义,右图无。666

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5:设置字体的位置

(1)xml修改gravity

比如右上

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

还有很多属性

right右上

center|left 居中靠左

right|bottom右下

重点记忆属性,具体的值不必记得非常清楚

(2)Java修改gravity

Gravity类中提供了很多常量

TextView tvSansan = findViewById(R.id.tv_Sansan);//使用xml中定义的文本控件
tvSansan.setGravity(Gravity.LEFT);//左上

6:设置背景色

android:background="@color/my_blue"

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

7:设置颜色和行数

(1)xml方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

		android:textColor="@color/white"        //设置字体颜色
        android:maxLines="2"                 //设置最大行数
        android:ellipsize="end"              //如果文本字太多以省略号的形式展现

ellipsis [ɪˈlɪpsɪs] 省略

8:TextView配置drawable

哇靠,自己理解drawable,这玩意就是指能在屏幕上绘画出各种图形的相关资源。

在文本中添加图片

(1)xml中使用drawable

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

        android:drawableLeft="@mipmap/ic_launcher_round"//在文本当中添加图片,并放在左边
        android:drawableTop="@mipmap/ic_launcher_round"
        android:drawableRight="@mipmap/ic_launcher_round"
        android:drawableBottom="@mipmap/ic_launcher_round"
        android:drawablePadding="20dp"         //设置两者的边距

(2)java中使用drawable

①方法理解

setCompoundDrawablesRelativeWithIntrinsicBounds()

在固有的边界上设置复合的drawable

Compound 复合的 Drawable 可绘制的对象 intrinsic 固有的

②参数理解

自己理解,传四个参数,设置左,上,右,下都用什么图片(实参可为null)

大白话:在固定边界上设置复合的图标

其实就是在文本的四个方向上设置图片

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里是方法内部;可能我们只传递一个参数,如果其余参数为空那么就不设置了,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

③代码分析

我叼

思考:==图片如何获取???==我们要用的图片是需要作为参数传入set方法中的,所以需要把图片转为drawable类型

类比获取颜色的思想:

((20250626105516-09c53ay “ContextCompat.getDrawable(this, R.mipmap.ic_launcher_round);”))

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

所以再来看这个代码:那我们就只传递一个图片作为参数,放到左边吧;

ContextCompat 上下文兼容工具类

TextView tvSansan = findViewById(R.id.tv_Sansan);//使用xml中定义的文本控件        
Drawable drawable = ContextCompat.getDrawable(this, R.mipmap.ic_launcher_round);
tvSansan.setCompoundDrawablesWithIntrinsicBounds(drawable,null,null,null);

这里看看效果(我放了4张图)兄弟太帅了666

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(3)安卓自带图标

R.mipmap.ic_launcher_round是获取当前res下的一个安卓图标

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


网站公告

今日签到

点亮在社区的每一天
去签到