04 Composants communs
4.1 Affichage texte
- TextView ( zone de texte ) , un contrôle utilisé pour afficher du texte.
- La taille de la police du texte est en sp :
- sp : pixels mis à l'échelle ( pixels agrandis ) . Principalement utilisé pour l'affichage des polices. Attributs communs du texte :
Nom d'attribut |
effet |
identifiant |
Définissez un identifiant de composant pour TextView, en fonction de l'identifiant, nous pouvons transmettre du code Java La méthode findViewById() obtient l'objet, puis définit les propriétés pertinentes |
layout_width |
Largeur du composant |
layout_height |
hauteur du composant |
la gravité |
Définissez la direction d'alignement du contenu dans le contrôle, du texte dans TextView, des images dans ImageView, etc. |
texte |
Définissez le contenu du texte affiché, généralement nous écrivons la chaîne dans le fichier string.xml, puis obtenons le contenu de la chaîne correspondante via @String/xxx |
textColor |
Définissez la couleur de la police, comme ci-dessus, référencée par la ressource colors.xml |
style de texte |
Définissez le style de police, trois valeurs facultatives : normal (aucun effet), gras (gras), italique (italique) |
taille du texte |
taille de la police, l'unité est généralement sp |
arrière-plan |
La couleur d'arrière-plan du contrôle peut être comprise comme la couleur qui remplit tout le contrôle, qui peut être une image |
lien automatique |
Identifier le type de lien (web, e-mail, téléphone, carte, aucun, tous) |
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Gridlayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="4"
android:orientation="horizontal"
android:rowCount="6">
<TextView
android:id="@+id/textview"
android:layout_width="300dp"
android:layout_height="400dp"
android:gravity="center" //文本中内容的对齐方向
android:text="这是一个textView文本框"
android:textColor="#d2364c"
android:textStyle="italic" //字体风格:斜体
android:textSize="20sp"
android:background="#ffffcc"
android:autoLink="web" //识别链接类型
/>
</GridLayout>
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Gridlayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="4"
android:orientation="horizontal"
android:rowCount="6">
<TextView
android:id="@+id/textview"
android:layout_width="300dp"
android:layout_height="400dp"
android:gravity="center"
android:text="www.baidu.com"
android:textColor="#d2364c"
android:textStyle="italic"
android:textSize="20sp"
android:background="#ffffcc"
android:autoLink="web"
/>
</GridLayout>
-
- Le contenu et la couleur du texte sont écrits dans des fichiers de ressources (avantageux pour la maintenance et la réutilisation du code)
couleur.xml :
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="purple_200">#FFBB86FC</color> <color name="purple_500">#FF6200EE</color> <color name="purple_700">#FF3700B3</color> <color name="teal_200">#FF03DAC5</color> <color name="teal_700">#FF018786</color> <color name="black">#FF000000</color> <color name="white">#FFFFFFFF</color> </resources>
chaîne.xml :
<resources> <string name="app_name">My Application</string> <string name="textview">www.baidu.com</string> </resources>
text_view.xml :
-
<?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/Gridlayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:columnCount="4" android:orientation="horizontal" android:rowCount="6"> <TextView android:id="@+id/textview" android:layout_width="300dp" android:layout_height="400dp" android:gravity="center" android:text="@string/app_name" android:textColor="@color/purple_200" android:textStyle="italic" android:textSize="20sp" android:background="#ffffcc" android:autoLink="web" /> </GridLayout>
- bordure de jeu de texte
- Principe de mise en œuvre :
编写一个ShapeDrawable的资源文件!然后TextView将 background 设置为这个drawable 资源即可
-
- ShapeDrawable的资源文件
- <solid android:color = "xxx"> 这个是设置背景颜色的
- <stroke android:width = "xdp" android:color="xxx"> 这个是设置边框的粗细,以及边框颜色的
- <padding androidLbottom = "xdp"...> 这个是设置边距的
- <corners android:topLeftRadius="10px"...> 这个是设置圆角的
- <gradient> 这个是设置渐变色的,可选属性有:
- startColor:起始颜色
- endColor:结束颜色
- centerColor:中间颜色
- angle:方向角度,等于0时,从左到右,然后逆时针方向转,当angle = 90度时从下往上
- type:设置渐变的类型
- 编写矩形边框的Drawable:
- ShapeDrawable的资源文件
shape_bg.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
>
<!-- 设置一个黑色边框 -->
<stroke android:width="40px" android:color="#000000"/>
<!-- 渐变 -->
<gradient
android:angle="270"
android:endColor="#C0C0C0"
android:startColor="#FCD209" />
<!-- 设置一下边距,让空间大一点 -->
<padding
android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp"/>
</shape>
text_view.xml:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Gridlayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="4"
android:orientation="horizontal"
android:rowCount="6">
<TextView
android:id="@+id/textview"
android:layout_width="300dp"
android:layout_height="400dp"
android:gravity="center"
android:text="@string/app_name"
android:textColor="@color/purple_200"
android:textStyle="italic"
android:textSize="20sp"
android:background="@drawable/shape_bg"
android:autoLink="web"
/>
</GridLayout>
-
-
-
- 编写圆角矩形边框的Drawable
-
-
shape_bg.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 设置透明背景色 -->
<solid android:color="#87CEEB" />
<!-- 设置一个黑色边框 -->
<stroke
android:width="40px"
android:color="#000000" />
<!-- 设置四个圆角的半径 -->
<corners
android:bottomLeftRadius="50px"
android:bottomRightRadius="50px"
android:topLeftRadius="50px"
android:topRightRadius="50px" />
<!-- 设置一下边距,让空间大一点 -->
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
</shape>
text_view.xml同上。
- 带图片(drawableXxx)的TextView
属性名 |
作用 |
android:drawableLeft |
文本左边设置图片 |
android:drawableRight |
文本右边设置图片 |
android:drawableBottom |
文本下边设置图片 |
android:drawableTop |
文本上边设置图片 |
-
- 应用场景
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Gridlayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnCount="4"
android:orientation="horizontal"
android:background="#fcfcfc">
<TextView
android:id="@+id/textview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:gravity="center"
android:text="微信"
android:textSize="25sp"
android:drawableTop="@mipmap/weixin"
/>
<TextView
android:id="@+id/textview2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:gravity="center"
android:text="通讯录"
android:textSize="25sp"
android:drawableTop="@mipmap/tongxunlu"
/>
<TextView
android:id="@+id/textview3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:gravity="center"
android:text="发现"
android:textSize="25sp"
android:drawableTop="@mipmap/faxian"
/>
<TextView
android:id="@+id/textview4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:gravity="center"
android:text="我"
android:textSize="25sp"
android:textColor="#00CC00"
android:drawableTop="@mipmap/wode"
/>
</GridLayout>