Android studio中控件TextView学习

发布于:2022-11-08 ⋅ 阅读:(381) ⋅ 点赞:(0)

1、TextView 基础属性

  1. layout_ width; 组件的宽度
  2. layout. _height: 组件的高度
  3. id: 为TextView设置- -个组件id
  4. text; 设置显示的文本内容
  5. textColor: 设置字体颜色
  6. textStyle: 设置字体风格,三个可选值: n normal(无效果),bold(加粗), italic(斜体)
  7. textSize: 字体大小,单位一般是用sp
  8. background: 控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片
  9. gravity: 设置控件中内容的对齐方向,TextView中是文字, ImageView中是图片等等。

代码练习:

<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <TextView
        android:id="@+id/tv_one"
        android:text="@string/tv_one"
        android:textColor="@color/black"
        android:textStyle="bold"
        android:textSize="20sp"
        android:background="@color/red"
        android:gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="200dp">

    </TextView>

</LinearLayout>

2、带阴影的TextView

  1. android:shadowColor:设置阴影颜色,需 要与shadowRadius-起使用
  2. android:shadowRadius:设置阴影的模糊程 度,设为0.1就变成字体颜色了,建议使用3.0
  3. android:shadowDx:设置阴影在水 平方向的偏移就是水平方向阴影开始的橫坐标位置
  4. android:shadowDy:设置阴影在竖 直方向的偏移就是竖直方向阴影开始的纵坐标位置

代码练习:

<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    xmlns:andro>

    <TextView
        android:
        android:text="@string/tv_one"
        android:textColor="@color/black"
        android:textStyle="bold"
        android:textSize="20sp"
        android:shadowColor="@color/red"
        android:shadowRadius="3.0"
        android:shadowDx="10.0"
        android:shadowDy="10.0"
        android:gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="200dp">

    </TextView>

</LinearLayout>

3、实现跑马灯的三种方式

第1种方式:手动点击 TextView ,自动跑起来

TextView跑马灯相关属性介绍:

  • android:ellipsize=“marquee” 内容单行显示
  • android:focusable=“true” 是否可以获取焦点
  • android:focusableInTouchMode=“true” 用于控制视图在触摸模式下是否可以聚焦
  • android:ellipzise 在哪里省略文本
  • android:marqueeRepeatLimit=“marquee_forever” 字幕动画重复的次数
  • android:clickable=“true” 可以点击

代码如下(示例):

> activity_main.xml
>     android:ellipsize="marquee"
>     android:marqueeRepeatLimit="marquee_forever"
>     android:focusable="true"
>     android:focusableInTouchMode="true"
>     android:clickable="true"

第2方式:自定义 MyTextView , 不用点击 TextView,启动后直接跑起来

代码如下(示例):

package com.example.my1;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;

import androidx.annotation.Nullable;

public class MyTextView extends androidx.appcompat.widget.AppCompatTextView {
    public MyTextView(Context context) {
        super(context);
    }

    public MyTextView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public MyTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public boolean isFocused() {

        return  true;
    }
}

activity_main.xml

<com.example.my1.MyTextView
    android:id="@+id/tv_one"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:text="@string/tv_one"
    android:textSize="30sp"
    android:textColor="@color/black"
    android:textStyle="italic"
    android:background="@color/white"
    android:gravity="center_vertical"
    android:shadowColor="@color/red"
    android:shadowRadius="3.0"
    android:shadowDx="10.0"
    android:shadowDy="10.0"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusableInTouchMode="true"
    tools:ignore="MissingConstraints"
    android:singleLine="true">
</com.example.my1.MyTextView>

第3方式:改回TextView , 加个 requestFocus

代码如下(示例):

<TextView
    android:id="@+id/tv_one"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:text="@string/tv_one"
    android:textSize="30sp"
    android:textColor="@color/black"
    android:textStyle="italic"
    android:background="@color/white"
    android:gravity="center_vertical"
    android:shadowColor="@color/red"
    android:shadowRadius="3.0"
    android:shadowDx="10.0"
    android:shadowDy="10.0"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusableInTouchMode="true"
    tools:ignore="MissingConstraints"
    android:singleLine="true">
    <requestFocus/>
</TextView>

以上就是Android比较初学者中的,Android studio中TextView控件学习,技术是一步一步累积的。如何快速进阶Android开发技术呢?需要一个学习路径和一套完整的学习资料,在这里我推荐一部市面上比较完整的《Android核心技术进阶手册》里面对初学者也是很友好的,如果你是刚毕业或者开发一两年;那么这将对你进步很有帮助,需要可以点击获取方式参考哦!

总结

关于Android中的控件还有很多,常用控件有:

  • TextView :用于显示文字
  • EditText :输入框控件
  • Button 按钮控件
  • ImageView 图片显示控件
  • RadioButton 单选按钮控件
  • CheckBox 复选框控件

Android的学习之路还有很多,但是也不用着急;技术都是靠累积的,一步一步来就好哦。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

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