二、简单控件

发布时间:2024年01月19日

二、简单控件

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

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、视图基础

待续

文章来源:https://blog.csdn.net/qq_45659753/article/details/135704728
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。