El artículo es demasiado largo, ¡se recomienda volver a leerlo!
Me gusta.
El primer paso es abrir Android Studio.
Paso 2: crea una actividad vacía
Paso 3: configurar el proyecto
Nombre del proyecto (nombre): ¿No sabes qué proyecto tienes? Sin saberlo, saca el cadáver
Reglas de nomenclatura de nombres de paquetes: (ignore mis reglas de nomenclatura aquí)
一般命名规则:
com.公司名.项目名.模块名....
对于个人项目,分为:
1.individual(个体):
指个体项目,由个人发起,但非个人独立完成,可公开或私有项目,版权属于发起人
形式:indi.发起者名.项目名.模块名....
2.personal (个人私人):
指个人项目,由个人发起,并独立完成,可分享的项目,版权属于个人
形式:pers.个人.项目名.模块名....
3.private(私人):
指私有项目,由个人发起并独立完成,不用于分享的非公开项目,版权属于个人
形式:priv.个人.项目名.模块名....
SaveLocation (Guardar dirección del proyecto):
Generalmente crea uno: almacenamiento de directorio del espacio de trabajo
Idioma
En términos de idioma, elegí kotlin aquí, después de todo, es el idioma oficial recomendado por Google y también es una tendencia en el futuro. Por supuesto, Java no puede quedarse atrás.
Este proyecto admitirá aplicaciones instantáneas:
Con esta verificación, la aplicación generada en este proyecto se puede vincular directamente a otras aplicaciones a través de appLink.
Usa artefactos de AndroidX:
Utilice la biblioteca de soporte de la API de AndroidX. Esto debe verificarse, de lo contrario, se informarán muchos errores al usar los paquetes de soporte anteriores. La última versión de Android Studio está marcada de forma predeterminada. AndroidX es una actualización de la biblioteca de compatibilidad de Android. Los nombres de los paquetes de las API de la biblioteca de compatibilidad de Android se encuentran en android.support. *, Mientras que los nombres de los paquetes de todas las API de la biblioteca de AndroidX están en androidx. *. La biblioteca de compatibilidad de Android tiene algunas API que admiten versiones anteriores a la 4.0. Pero ahora la mayoría de las máquinas tienen la versión 4.0 o posterior, por lo que puede usar la nueva biblioteca de compatibilidad con la API de AndroidX, y las aplicaciones existentes solo necesitan modificar la ruta del paquete.
Haga clic en el botón Ejecutar en la esquina superior derecha, la máquina virtual no se encuentra y debe crearse.
Seleccione este icono
aquí y haga clic en Crear nuevo dispositivo virtual
Aquí está para elegir el modelo que necesita
Aquí para elegir la versión del sistema del teléfono, elegí el último Android 10.0
Finalmente, puedes darle un nombre a tu dispositivo, terminar.
Normalmente creo una nueva actividad como esta porque soy vago. . . No es necesario configurar
¿Qué significa marcar Generar archivo de diseño?
Indica que se creará automáticamente un archivo de diseño correspondiente para FirstActivity.
¿Qué significa comprobar la actividad del lanzador?
Indica que FirstActivity se establecerá automáticamente como la actividad principal del proyecto actual.
Simplemente termine directamente.
Detalles de gestión de diseño de Andriod (1) -LinearLayout diseño lineal
* Andriod tiene 6 métodos de diseño, a saber LinearLayout
(diseño lineal), TableLayout
(diseño de tabla), FrameLayout
(diseño de marco), RelativeLayout
(diseño relativo), GridLayout
(diseño de cuadrícula) y AbsoluteLayout
(diseño absoluto).
Introducción a los atributos comunes de LinearLayout
Atributo 1: android:orientation
especifique la dirección del diseño lineal (horizontal o vertical)
Propiedad 2: android:width
El ancho del contenedor en el diseño lineal
Propiedad 3: android:height
La altura del contenedor en el diseño lineal
Propiedad 4: android:background
El fondo del diseño lineal.
Propiedad 5: en android:gravity
diseño lineal, la posición del contenedor secundario en relación con el contenedor principal
1 Valor de propiedad:
android:orientation="horizontal" 指定线性布局方向:水平
android:orientation="vertical" 指定线性布局方向:垂直
2. Valor de atributo:
android:width="xxxdp"
指定线性布局的容器宽度为:xxxdp
android:width="wrap_content"
指定线性布局的容器宽度为:根据容器内容宽度大小来填充屏幕宽度
android:width="match_parent"
指定线性布局的容器宽度为:撑满整个屏幕宽度
3. Valor de atributo:
android:height="xxxdp"
指定线性布局的容器高度为:xxxdp
android:height="wrap_content"
指定线性布局的容器高度为:根据容器内容高度大小来填充屏幕高度
android:height="match_parent"
指定线性布局的容器高度为:撑满整个屏幕高度
4. Valor de atributo:
android:background="#000"
指定线性布局的背景为:黑色(rgb颜色)
android:background="@android:color/black"
指定线性布局的背景为:黑色(引用android系统自带的原始黑色)
andrid:backgrund="@color/colorPrimary"
指定线性布局的背景为:(根据res/color.xml 中的colorPrimary所定义的颜色设置)
5 valor de atributo:
android:gravity="center"
指定线性布局中,子容器相对于父容器所在的位置为:正中心
android:gravity="cente_verticalr"
指定线性布局中,子容器相对于父容器所在的位置为:垂直方向的正中心
android:gravity="center_horizontal"
指定线性布局中,子容器相对于父容器所在的位置为:水平方向的正中心
android:gravity="left"
指定线性布局中,子容器相对于父容器所在的位置为:最左边(默认)
android:gravity="right"
指定线性布局中,子容器相对于父容器所在的位置为:最右边
android:gravity="top"
指定线性布局中,子容器相对于父容器所在的位置为:最上方(默认)
android:gravity="bottom"
指定线性布局中,子容器相对于父容器所在的位置为:最下方
Dirección vertical:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000"
android:orientation="vertical">
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="btn1"
android:textAllCaps="false" />
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="btn2"
android:textAllCaps="false" />
<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="btn3"
android:textAllCaps="false" />
</LinearLayout>
Dirección horizontal:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000"
android:orientation="horizontal">
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="btn1"
android:textAllCaps="false" />
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="btn2"
android:textAllCaps="false" />
<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="btn3"
android:textAllCaps="false" />
</LinearLayout>
Dirección lineal: horizontal, la posición del control en la dirección vertical se puede cambiar por el valor del atributo android: layout_gravity del control
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000"
android:orientation="horizontal">
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:text="btn1"
android:textAllCaps="false" />
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="btn2"
android:textAllCaps="false" />
<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:text="btn3"
android:textAllCaps="false" />
</LinearLayout>
Dirección lineal: horizontal. Establezca la relación de peso entre el control y el control estableciendo la propiedad android: layout_weight del control. Aquí, la relación de ancho entre el control EditText y el control Button se establece en 1: 1. La premisa es que primero debe establecer el android: layout_width = "0dp" de estos dos controles.
Código:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<EditText
android:id="@+id/et1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="Type something" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="send"
android:textAllCaps="false" />
</LinearLayout>
Si solo el control EditText
android: layout_width = "0dp"
android: layout_weight = "1"
Y el botón de control
android: layout_width = "wrap_content“ ”
android: el atributo layout_weight no está configurado (tenga en cuenta que no está configurado aquí)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<EditText
android:id="@+id/et1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="Type something" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="send"
android:textAllCaps="false" />
</LinearLayout>
Comprensión de Android: id = "@ + id / xx"
@ + id / height El
símbolo "@" es un recordatorio de que el analizador XML debe analizar la siguiente cadena en un identificador.
El símbolo "+" significa que se agregará un símbolo de identificación.
"Id /" significa que este identificador se clasifica en "id".
"Altura" es el "android: id" principal de esta interfaz.
En procedimientos futuros, se utilizará "R.id.height" para obtener este componente de interfaz. Por lo tanto, "@ + id / height" significa que hemos creado un identificador llamado "height" aquí, que se puede utilizar para controlar los componentes de la interfaz correspondientes, y la clase "R" configurará automáticamente una dirección para los componentes de esta interfaz. El contenido de la clase "R" se puede encontrar viendo el archivo "R.java".
¿Has terminado de mirar? ? ? ? ?