二、简单控件

news2024/11/15 7:54:23

二、简单控件

简单控件
文本显示
视图基础
常用布局
按钮触控
图像显示

1、文本显示

文本显示
文本内容设置
文本大小设置
文本颜色设置

(1)文本内容

💬 Tip:文本内容设置共有三种方式

  1. 硬编码到XML布局文件
  2. 硬编码到代码中
  3. 编码到strings.xml,然后其他文件(如:布局文件、代码中)引用即可

硬编码到XML文件:

  • Layout布局文件:

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout 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=".TextContent">
    
        <TextView
            android:id="@+id/m1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            tools:ignore="MissingConstraints"
            android:text="XML硬编码"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintBottom_toTopOf="@+id/m2" />
    
        <TextView
            android:id="@+id/m2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            tools:ignore="MissingConstraints"
            android:text="@string/tc_m2"
            app:layout_constraintTop_toBottomOf="@+id/m1"
            app:layout_constraintBottom_toTopOf="@+id/m3" />
    
        <TextView
            android:id="@+id/m3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            tools:ignore="MissingConstraints"
            app:layout_constraintTop_toBottomOf="@+id/m2"
            app:layout_constraintBottom_toTopOf="@+id/m4" />
    
        <TextView
            android:id="@+id/m4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            tools:ignore="MissingConstraints"
            app:layout_constraintTop_toBottomOf="@+id/m3"
            app:layout_constraintBottom_toBottomOf="parent" />
    
    </androidx.constraintlayout.widget.ConstraintLayout>
    
  • 字符串文件:

    <resources>
        <string name="app_name">My Application</string>
        <string name="song">My Song</string>
        <string name="tc_m2">xml引用</string>
        <string name="tc_m4">代码引用</string>
    </resources>
    
  • 代码文件:

    public class TextContent extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_text_content);
            TextView textView = findViewById(R.id.m3);
            textView.setText("代码硬编码");
    
            TextView textView4 = findViewById(R.id.m4);
            textView4.setText(R.string.tc_m4);
        }
    }
    

总结:常用两种引用方式

  • 在XML文件中引用:@string/***
  • 在Java代码中引用:R.string.***

(2)文本大小

文本大小的三个单位:

  • px:也称为图像元素(Pixel),构成图像的基本单位,与设备显示屏相关,单个像素大小不固定,跟随屏幕大小和像素数量的关系变化
    • 分辨率(Resolution):指屏幕的垂直和水平方向的像素速率,如果分辨率是1920*1080 ,则垂直方向有1920个像素,水平反向1080个像素

      • 如果不同尺寸的屏幕,如15.6英寸和17英寸的分辨率都是1920*1080 ,因为单个像素大小不固定,那么17英寸的屏幕的单个像素更大
    • 像素密度(dpi):每英寸距离中有多少个像素点

      在这里插入图片描述

      • 像素密度 = c / 屏幕尺寸
    • 密度:每平方英尺中有多少像素点

  • dp/dip:也称独立设备像素,与屏幕尺寸相关,与设备无关,是一种长度的单位,本质还是px
    • 特点:相同屏幕尺寸的设备,如果dp相同,则显示效果相同
  • sp:与系统设置相关,系统设置中调整文字大小,则其也会相对应变化,是dp的增强版

示例:

  • 布局代码:

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout 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=".TextSize">
    
        <LinearLayout
            android:layout_width="409dp"
            android:layout_height="83dp"
            android:orientation="horizontal"
            tools:layout_editor_absoluteX="1dp"
            tools:layout_editor_absoluteY="1dp"
            tools:ignore="MissingConstraints">
    
            <TextView
                android:id="@+id/tsPx"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/tsPx"
                android:textSize="20px"
                tools:ignore="MissingConstraints" />
    
            <TextView
                android:id="@+id/tsDp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/tsDp"
                android:textSize="20dp"
                tools:ignore="MissingConstraints" />
    
            <TextView
                android:id="@+id/tsSp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/tsSp"
                tools:ignore="MissingConstraints" />
        </LinearLayout>
    
    </androidx.constraintlayout.widget.ConstraintLayout>
    
  • Java代码:

    public class TextSize extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_text_size);
    
            TextView sp = findViewById(R.id.tsSp);
            //默认sp大小单位
            sp.setTextSize(20);
        }
    }
    
  • 手机 —> 设置 —> 调整文字大小:

    在这里插入图片描述

(3)文本颜色

文本颜色包括:背景颜色、文字颜色

  • 布局代码:

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout 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=".TextColor">
    
        <LinearLayout
            android:layout_width="409dp"
            android:layout_height="729dp"
            android:orientation="vertical"
            tools:layout_editor_absoluteX="1dp"
            tools:layout_editor_absoluteY="1dp"
            tools:ignore="MissingConstraints">
    
            <TextView
                android:id="@+id/tcRed"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/tcRed" />
    
            <TextView
                android:id="@+id/tcBlue"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/tcBlue"
                android:textColor="#3ECEF6"
                android:background="#FBC118"/>
        </LinearLayout>
    </androidx.constraintlayout.widget.ConstraintLayout>
    
  • Java代码:

    public class TextColor extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_text_color);
            TextView tcRed = findViewById(R.id.tcRed);
            tcRed.setTextColor(Color.RED);
            tcRed.setBackgroundColor(Color.GRAY);
        }
    }
    
  • 效果图:

    在这里插入图片描述

2、视图基础

待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1398228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

45 mount 文件系统

前言 在 linux 中常见的文件系统 有很多, 如下 基于磁盘的文件系统, ext2, ext3, ext4, xfs, btrfs, jfs, ntfs 内存文件系统, procfs, sysfs, tmpfs, squashfs, debugfs 闪存文件系统, ubifs, jffs2, yaffs 文件系统这一套体系在 linux 有一层 vfs 抽象, 用户程序不用…

1.php开发-个人博客项目文章功能显示数据库操作数据接收

&#xff08;2022-day12&#xff09; #知识点 1-php入门&#xff0c;语法&#xff0c;提交 2-mysql 3-HTMLcss ​ 演示案例 博客-文章阅读功能初步实现 实现功能&#xff1a; 前端文章导航&#xff0c;点入内容显示&#xff0c;更改ID显示不同内容 实现步骤&#xff1…

04 MyBatisPlus之逻辑删除+锁+防全表更新/删除+代码生成插件

1 逻辑删除 1. 1 什么是逻辑删除 , 以及逻辑删除和物理删除的区别? 逻辑删除&#xff0c;可以方便地实现对数据库记录的逻辑删除而不是物理删除。逻辑删除是指通过更改记录的状态或添加标记字段来模拟删除操作&#xff0c;从而保留了删除前的数据&#xff0c;便于后续的数据…

P1059 [NOIP2006 普及组] 明明的随机数————C++、Python

目录 [NOIP2006 普及组] 明明的随机数题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 解题思路Code——CCode——Python运行结果 [NOIP2006 普及组] 明明的随机数 题目描述 明明想在学校中请一些同学一起做一项问卷调查&#xff0c;为了实验的客观性&#xff0…

uniapp的IOS证书(.p12)和描述文件(.mobileprovision)申请 2024年最新教程

文章目录 准备环境登录 iOS Dev Center 下面我们从头开始学习一下如何申请开发证书、发布证书及相对应的描述文件。首先需要申请苹果 App ID &#xff08;App的唯一标识&#xff09;生成证书请求文件申请开发(Development)证书和描述文件申请开发(Development)证书添加调试设备…

免费200万Tokens 用科大讯飞API调用星火大模型服务

简介 自ChatGPT火了之后&#xff0c;国内的大模型发展如雨后春笋。其中的佼佼者之一就是科大讯飞研发的星火大模型,现在大模型已经更新到V3 版本&#xff0c;而且对开发者也是相当友好&#xff0c;注册就送200万tokens,讯飞1tokens 约等于 1.5 个中文汉字 或者 0.8 个英文单词…

spring data mongo 在事务中,无法自动创建collection

spring data mongo 在事务中,无法自动创建collection org.springframework.dao.DataIntegrityViolationException: Write operation error on server xxx:30001. Write error: WriteError{code=263, message=Cannot create namespace xxx.xxxin multi-document transaction.…

Visual Studio 设置编辑框(即代码编辑器)的背景颜色

在Visual Studio 中设置编辑框&#xff08;即代码编辑器&#xff09;的背景颜色&#xff0c;可以按照以下步骤进行&#xff1a; 打开Visual Studio。在菜单栏上找到并点击“工具”(Tools)选项。在下拉菜单中选择“选项”(Options)。在“选项”对话框中&#xff0c;导航至“环境…

【鸿蒙4.0】详解harmonyos开发语言ArkTS

文章目录 一.什么是ArkTS&#xff1f;1.ArkTS的背景2.了解js&#xff0c;ts&#xff0c;ArkTS的演变js(Javascript)Javascript的简介Javascript的特点 ts(Typescript)ArkTS 二. ArkTS的特点 一.什么是ArkTS&#xff1f; 1.ArkTS的背景 如官方文档所描述&#xff0c;ArkTS是基…

Android Matrix绘制PaintDrawable设置BitmapShader,手指触点为圆心scale放大原图,Kotlin(二)

Android Matrix绘制PaintDrawable设置BitmapShader&#xff0c;手指触点为圆心scale放大原图&#xff0c;Kotlin&#xff08;二&#xff09; 在 Android Matrix绘制PaintDrawable设置BitmapShader&#xff0c;手指触点为圆心scale放大原图&#xff0c;Kotlin-CSDN博客 基础上&…

esp32-cam 视频查看教程

一、环境配置 查看以前教程 环境配置 建议使用1.0.6 二、安装基于esp32 cam的代码 资料地址&#xff1a; https://pan.baidu.com/s/1Y9-rLLmAKPYzBDcrEyuGMw 提取码&#xff1a;2022 下载后打开文件下的程序 下载程序 三、获取视频url 在arduino 看不到串口打印的信息&a…

Android studio 简单登录APP设计

一、登录界面: 二、xml布局设计: <LinearLayoutandroid:id="@+id/linearLayout"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:layout_editor_absoluteX="…

assignment1——KNN

KNN 整体思路 加载数据集CIFAR10并随机展示部分数据构建KNearestNeighbor分类器&#xff0c;计算测试集每张图片的每个像素点与训练集每张图片的每个像素点的距离。将图片转化为数组。在测试集使用compute_distances_one_loop&#xff0c;compute_distances_no_loops&#xf…

挑战杯参赛总结-时间序列预测

参赛任务&#xff1a; 目标&#xff1a;针对中国各个市区的不同年份二氧化碳排放量&#xff0c;预测未来年份的二氧化碳排放量。 不同与之前我学习过的波士顿房价预测机器学习-波士顿房价预测-CSDN博客 房价预测是通过学习与房价有关的很多特征&#xff0c;训练出一个模型来预…

UV胶水粘接尼龙聚酰胺类聚合物PA有哪些优势呢?

使用UV胶水&#xff08;紫外线固化胶水&#xff09;粘接尼龙聚酰胺类聚合物&#xff08;PA&#xff09;具有一些优势&#xff0c;这些优势包括&#xff1a; 1.快速固化&#xff1a; UV胶水是一种紫外线固化的胶水&#xff0c;它可以在短时间内迅速固化。这使得粘接过程非常快速…

02-编程猜谜游戏

本章通过演示如何在实际程序中使用 Rust&#xff0c;你将了解 let 、 match 、方法、关联函数、外部crate等基础知识。 本章将实现一个经典的初学者编程问题&#xff1a;猜谜游戏。 工作原理如下&#xff1a;程序将随机生成一个介于 1 和 100 之间的整数。然后&#xff0c;程序…

Pycharm详细安装 配置教程

继上次安装完Anaconda之后&#xff0c;现在更新最新版本的pycharm的安装和使用教程~~~ Anaconda&#xff1a;是一个开源的Python发行版本&#xff0c;其中包含了conda、Python等180多个科学包及其依赖项。【Anaconda和Pycharm详细安装 配置教程_anconda安装时clear the packag…

音频筑基:时延、帧长选取的考量

音频筑基&#xff1a;时延、帧长选取的考量 帧长与时延的关系帧长变化的影响参考资料 音频算法中&#xff0c;时延和音频帧长的选择通常是个需要平衡的参数&#xff0c;这里分析下背后的考量因素。 帧长与时延的关系 一般来说&#xff0c;帧长是音频算法端到端时延的子集&…

【Linux】Linux 系统编程——touch 命令

文章目录 1.命令概述2.命令格式3.常用选项4.相关描述5.参考示例 1.命令概述 在**Linux 中&#xff0c;每个文件都与时间戳相关联&#xff0c;每个文件都存储了上次访问时间、**上次修改时间和上次更改时间的信息。因此&#xff0c;每当我们创建新文件并访问或修改现有文件时&a…

设计模式篇章(4)——十一种行为型模式

这个设计模式主要思考的是如何分配对象的职责和将对象之间相互协作完成单个对象无法完成的任务&#xff0c;这个与结构型模式有点像&#xff0c;结构型可以理解为静态的组合&#xff0c;例如将不同的组件拼起来成为一个更大的组件&#xff1b;而行为型更是一种动态或者具有某个…