IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 【2021】Andriod(安卓)开发(持续更新) -> 正文阅读

[移动开发]【2021】Andriod(安卓)开发(持续更新)

1.工程结构介绍

app工程文件如下:
在这里插入图片描述

总目录

.gradle和.Idea是Andriod studio 自动生成的文件,而且不用手动去编辑,打包时会将其删除。
App文件夹是代码和资源等一些东西,工作的核心目录。
Gradle是一个构建器,里面还会有相应的版本。
.gitignore是一个版本控制的时候,可以将一些版本和目录排除在外,像git的时候可以将部分代码排除到外。
Build.gradle是项目gradle全局的构建脚本,一般该文件夹是不用修改的。
Gradle.properties是项目的全局的gradle配置文件。
Gradlew和gradlew.bet 是用来编写gradle命令的,是操作系统有关的,E.g. Gradlew是linux和max系统上的而gradlew.bet是window 系统中实现的。
Local.porperties是sdk的路径,都会自动生成,也可以进行更改sdk的路径。
Sttings.gradle是我们项目中所有的引路的路径。
External.libraries是第三方的库文件。(libraries文件)

app目录

在这里插入图片描述

Build是在Andriod Studio中的build的make project 的部署下生成的目录文件夹。
Libs是第三方的jar包都要放在这个目录。
Gitignore是管理app内部的版本文件夹。
Build.gradle是项目app全局的构建脚本。

src目录

在这里插入图片描述

AndroidTest是测试andriod的引用的

Main 目录

在这里插入图片描述

AndriodManifest.xml是app的清单文件,一般会有我们使用的组件。(app的权限和图标等)
在这里插入图片描述

Main中的java是java文件的地方
Com.example.myapplication是包名(app)
在这里插入图片描述

Res中的文件比较多,都是关于app的布局文件。
Drawable是关于图片的文件夹。
Layout是我们app的布局文件。
Mipmap是图标的放置,后缀不同——屏幕的适配。
Values是用来放颜色,字符串,主题文件的。

工程文件夹目录介绍结束。

2.控件介绍

TextView

1.TextView组件

  1. layout. _width:组件的宽度
  2. layout_ height:组件的高度
  3. id:为TextView设置一个组件id
  4. text:设置显示的文本内容
  5. textColor:设置字体颜色
  6. textStyle::设置字体风格,三个可选值: normal(无效果), bold(加粗), italic(斜体)
  7. textSize:字体大小,单位一般是用sp
  8. background:控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片
  9. gravity:设置控件中内容的对齐方向,TextVlew中是文字, ImageView中是图片等等。

Andriod Studio 自带的Activity_main.xml

<?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"
    android:background="#CF2861"
    android:backgroundTint="#009688"
    android:backgroundTintMode="src_in"
    android:foregroundTint="#CDDC39"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="42dp"
        android:autoSizeMaxTextSize="60sp"
        android:text="Hello World!"
        android:textColor="#FFEB3B"
        android:textColorHighlight="#DC396D"
        android:textColorLink="#9C27B0"
        android:textSize="48sp"
        android:visibility="visible"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="0.497"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.32999998"
        tools:ignore="TextContrastCheck" />

</androidx.constraintlayout.widget.ConstraintLayout>

学属性最好的方式就是将代码写到程序中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <TextView
        android:id="@+id/tv_one"
        android:text="TextView学习"
        android:textColor="#ffff0000"
        android:textStyle="bold"
        android:textSize="36sp"
        android:background="#55ff0000"
        android:gravity="center"
        android:layout_width="225dp"
        android:layout_height="224dp">

    </TextView>

</LinearLayout>

LinearLayout 是个容器(布局)
android:textColor="#ffff0000"由8个字符构成,前两为透明度,后面6位为颜色。
android:textStyle="bold"有三种选择。
android:textSize="36sp"有三种基本选择,也可以用数字表示,单位为“sp”。

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView tv_one = findViewById(R.id.tv_one);
        tv_one.setText("leo");
    }
}

其中的Id是写到.ava文件中

tv_one.setText("leo");

会影响用行的结果,正规的项目一般都在values文件夹的string.xml中写。

2.带阴影的TextView

  1. android:shadowColor:设置阴影颜色需要与shadowRadius一起使用
  2. android:shadowRadius:设置阴影的模糊程度设为0.1就变 成字体颜色了建议使用3.0
  3. android:shadowDx:设置阴影在水平方向的偏移,就是水平方向阴影开始的横坐标位置
  4. android:shadowDy:设置阴影在竖直方向的偏移,就是竖直方向阴影开始的纵坐标位置

3.实现跑马灯的效果的TextView

  1. android:singleLine:内容单行显示
  2. android:focusable:是否可以获取焦点
  3. android:focuablelnTouchMode:用于控制视图在触摸模式下是否可以聚焦
  4. android:ellipsize:在哪里省略文本
  5. android:marqueeRepestima:字幕动面重复的次数

button

1.StateListDrawable

StateListDrawable是Drowable资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点,我们只需要将Button的background属性设置为该drawable资源即可轻松实现,按下按钮时不同的按钮颜色或背景
7. drawable:引用的Drawable位图
8. state_focused:是否获得焦点
9. state_pressed:控件是否被按下
10. state_enabled:控件是否可用
11. state_selected:控件是否被选择,针对有滚轮的情况
12. state_checked:控件是否被勾选
13. state_checkable:控件可否被勾选eg:checkbox
14. state_window_focused:是否获得窗口焦点
15. state_gactive:控件是否处于活动状态.eg:slidingTab
16. state_single:控件包含多个子控件时,确定是否只显示一个子控件
17. state_first:控件包含多个子控件时,确定第一个子控件是否处于显示状态
18. state_middle:控件包含多个子控件时,确定中间一个子控件是否处于显示状态
19. state_last:控件包含多个子控件时,确定最后一个子控件是否处于显示状态

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章           查看所有文章
加:2021-08-30 12:09:58  更:2021-08-30 12:12:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/31 6:01:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码