Sígueme Android Seven Resource Files

Lección en video: https://edu.csdn.net/course/play/7621

Contenido de este capítulo

Sección 1
Recursos
de hilo , color y tamaño Sección 2 Recursos de matriz Sección 3 Recursos dibujables
Sección 4 Recursos de diseño
Sección 5 Recursos de estilo y tema

Objetivo de este capítulo 



Familiarizado con el uso de recursos de cuerdas, colores y tamaños.
Familiarizado con el uso de recursos de matriz.
Domina el uso de varios recursos dibujables.
Domina el uso de recursos de diseño Domina el uso de recursos
de estilo y tema.

Recurso constante de cadena 



Utilice recursos de constantes de cadena. Cuando hay constantes de cadena que deben usarse en el programa, debe definir los recursos de constantes de cadena, que se definen en res / values ​​/ string.xml.


<? xml version = "1.0" encoding = "utf-8"?> <resources> <string name = “okLabel”> 确定 </string> </resources>
Usar en diseño XML





<Botón… android: text = “@ string / okLabel” />
Usar en código java 
Botón okBtn = (Botón) findViewById (R.id.okBtn); okBtn.setText (getString (R.string.okLabel));

颜色值通过RGB(红、绿、蓝)三原色和一个透明度(Alpha)值表示。它必须以“#”开头,后面接Alpha-Red-Green-Blue形式的内容。其中,Alpha值可以省略,如果省略,表示颜色默认是完全不透明的#RGB:使用红、绿、蓝三原色的值来表示颜色,其中,红、绿和蓝采用0~f来表示。例如,要表示红色,可以使用#f00。#ARGB:使用透明度以及红、绿、蓝三原色来表示颜色,其中,透明度、红、绿和蓝均采用0~f来表示。例如,要表示半透明的红色,可以使用#6f00。#RRGGBB:使用红、绿、蓝三原色的值来表示颜色,与#RGB不同的是,这里的红、绿和蓝使用00—ff来表示。例如,要表示蓝色,可以使用#0000ff。#AARRGGBB:使用透明度以及红、绿、蓝三原色来表示颜色,其中,透明度、红、绿均采用00-ff来表示。例如,要表示半透明的绿色,可以使用#6600ff00。


颜色常量资源的使用


颜色的定义是通过RGB三色和一个alpha值来定义的,#RGB、#ARGB、#RRGGBB、#AARRGGBB,在资源文件中定义颜色,一般在res/values下建议colors.xml文件,定义颜色如下:


<resources>
        <color name=“red”>#ff0000</color>
</resources>

在代码中使用颜色



int color = Resources.getSystem().getColor(R.color.red);btn.setBackgroundColor(color);

在布局文件中使用颜色




android: background = "@ color / red"


Unidad de medida

La unidad de medida
px (píxel) en el atributo tiene el mismo efecto de visualización en diferentes dispositivos
en (pulgadas) unidad de longitud
mm (milímetro) unidad de longitud
pt (libra) 1/72 pulgada
dp (píxeles independientes de la densidad)
Una abstracción basada en la densidad de la pantalla La unidad está
en un monitor con 160 puntos por pulgada, 1dp = 1px
dip (igual que dp)
sp (píxeles no relacionados con la escala)
es similar a dp, pero se puede escalar de acuerdo con el tamaño de fuente del usuario. Se
recomienda usar sp como unidad de tamaño de fuente

Utilice el recurso de constante de tamaño, defina alguna información de tamaño fijo en el recurso de constante de tamaño, como: intervalo, definido en res / valores / dimens.xml.



<resources> <! - Márgenes de pantalla predeterminados, según las pautas de diseño de Android. -> <dimen name = "horizontal_margin"> 16dp </dimen> <dimen name = "vertical_margin"> 16dp </dimen> </resources>
Usar en diseño XML 
<RelativeLayout xmlns: android = "http://schemas.android.com/apk/res/android" android: paddingBottom = "@ dimen / vertical_margin" android: paddingLeft = "@ dimen / horizontal_margin“…>
Usar en código 
int margin = getResources (). getDimension (R.dimen. horizontal_margin);



Recurso de matriz 


El archivo se encuentra en el directorio res \ values, y el elemento raíz es la etiqueta <resources> </resources>. En este elemento, se incluyen los siguientes 3 subelementos. Los
subelementos <array> se utilizan para definir tipos comunes de matrices.
<integer-array> subelemento: se utiliza para definir una matriz de enteros.
<string-array> subelemento: se utiliza para definir la matriz de cadenas

Utilice recursos de constante de matriz. Cuando sea necesario utilizar una matriz con contenido fijo en el programa, puede definir un recurso de constante de matriz, que se define en res / values ​​/ arrays.xml.


<? xml version = "1.0" encoding = "utf-8"?> <resources> <string-array name = "booktype"> <item> 语言 类 </item> <item> 工具 类 </item> </ matriz-de-cadenas> </ recursos>


En el código, puede usar el ID directamente donde se puede usar el ID, y usar la llamada al método donde no sea conveniente.



String [] matriz = getResources (). GetStringArray (R.array.booktype);



Las imágenes .9.png tienen la capacidad de ajustar el tamaño de forma adaptativa en el entorno de Android

La forma se puede usar para definir los atributos de los elementos de varias interfaces de usuario. Por lo general, se crea un archivo XML correspondiente en res / dibujable para definir la forma, y ​​el sólido se usa para definir el relleno sólido, como:

<android sólido: color = "# ff9d77" />

gradient用于定义渐变色,比如:


<gradient  android:startColor="#eb7720"  android:endColor="#ddbda5" android:angle="270” />


stroke用于定义描边 



<strokeandroid:width="2dp"android:color="#dcdcdc" />




布局资源文件 

布局资源文件放置在res\layout目录下,布局资源文件的根元素通常是各种布管理器,在该布局管理器中,通常是各种View组件或是嵌套的其他布局管理器。
加载布局  

setContentView(R.layout.main);

引入布局




<include layout=“@layout/image”/>



样式与主题概述 

Android中的视图可以通过样式和主题进行外观的定制,通常在res/values下建立styles.xml来定义样式和主题,主题和样式都在使用style标签进行定义,通过name属性确定一个唯一的名字,通过parent属性指定用于继承的父类样式,通过子标签item定义各种样式的内容,示例如下:

使用样式来改变单个视图外观,比如:TextView

<resources xmlns:android="http://schemas.android.com/apk/res/android"><style name="mystyle"><item name="android:textColor">#FF0000</item><item name="android:textSize">20sp</item><item name="android:background">@drawable/shap_background</item></style></resources>


首先在res/values下建立styles.xml来定义样式
<resources> <style name="textViewStyle” parent="textViewStyle"> <item name="android:textColor">#FF0000</item> <item name="android:textSize">20sp</item> </style><style name="testTheme"> <item name="android:windowNoTitle">true</item>   <item name="android:windowFullscreen">?android:windowNoTitle</item>   </style> </resources><strong></strong>

在TextView中使用样式 



<TextView android:layout_width="match_parent"android:layout_height="wrap_content"android:text="@string/hello_world”  style="@style/mystyle” />

使用主题来改变整个应用的外观,当把样式用来改变应用或者Activity的时候就叫做主题了,首先在res/values下建立styles.xml来定义样式 



<resources xmlns:android="http://schemas.android.com/apk/res/android"><style name="mytheme"><item name="android:windowNoTitle">true</item><item name="android:windowFullscreen">?android:windowNoTitle</item></style></resources>

在Application中使用主题 



<applicationandroid:allowBackup="true“ android:icon="@drawable/ic_launcher"android:label="@string/app_name”  android:theme="@style/mytheme" >


Supongo que te gusta

Origin blog.51cto.com/2096101/2588818
Recomendado
Clasificación