Android Studio开发实战学习笔记
欧阳燊Android Studio开发实战从零基础到App上线(第2版)复现代码,整理学习笔记。
打代码的浪浪
齐大18级嵌入式移动开发本科学生一枚
展开
-
下拉框Spinner:数组适配器ArrayAdapter
我用到的两篇文章:关于ArrayAdapter的参数Spinner的OnItemSelectedListener的onItemSelected方法的四个参数含义MainActivitypackage com.example.middle;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Ada原创 2021-05-25 19:17:15 · 269 阅读 · 0 评论 -
单选按钮RadioButton
单选按钮要在一组中选择一项,并且不能多选。同一组RadioButton要放在同一个RadioGroup节点下。RadioButton默认未选中,点击后选中但是再次点击不会取消选中。RadioButton经常会更换按钮图标,如果通过button属性变更图标,那么图标与文字就会挨得很近。为了拉开图标与文字之间的距离,得换成drawableLeft属性展示新图标(不要忘记把button改为@null),再设置drawablePadding即可指定间隔距离。复现代码时出现了一个错误,处理单选按钮的响原创 2021-05-24 21:54:03 · 613 阅读 · 0 评论 -
开关按钮Switch(仿ios)
高级版本的CheckBoxMainActivitypackage com.example.middle;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.原创 2021-05-24 19:46:25 · 239 阅读 · 0 评论 -
复选框CheckBox
CompoundButton类是抽象的复合按钮,因为是抽象类,所以不能直接使用。CompoundButton类的几个派生,主要有复选框CheckBox、单选按钮RadioButton以及开关按钮Switch。布局文件中:checked:指定按钮的勾选状态,默认未勾选。button:指定左侧勾选图标的图形。可以不指定,使用系统默认。代码中:setOnCheckedChangeListener:设置勾选状态变化的监听器isChecked:判断按钮是否勾选MainActivi.原创 2021-05-24 19:10:39 · 307 阅读 · 1 评论 -
框架布局FrameLayout
其下级视图无法指定所处的位置,只能统统从上级FrameLayout的左上角开始添加,并且后面添加的子视图会把之前的子视图覆盖掉。框架布局一般用于需要重叠显示的场合。foreground:指定框架布局的前景图像。该图像在框架内部永远处于最顶层,不会被框架内的其他视图覆盖。foregroundGravity:指定前景图像的对齐方式。Layout<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:andro.原创 2021-05-24 14:39:02 · 302 阅读 · 0 评论 -
相对布局RelativeLayout
RelativeLayout下级视图的位置是相对的,得有具体的参照物才能确定最终位置。如果不设定下级视图的参照物,那么下级视图默认显示在RelativeLayout内部的左上角。示例:如果视图是在代码中动态添加的,那么相对位置也只能在代码中临时定义。代码中定义相对位置用到的是RelativeLayout.LayoutParams的addRule方法,该方法的第一个参数表示相对位置的类型,第二个参数表示参照物视图的ID,即当前视图要参照哪个视图确定自身的位置。实例代码:..原创 2021-05-22 21:23:40 · 253 阅读 · 0 评论 -
简单计算器
LOGLog的使用方法官方文档:https://developer.android.google.cn/studio/debug/am-logcat使用技巧:在Android Studio 中,在方法的外面输入logt,然后按下TAB,IDE会自动为你补全,该快捷键是生成一个String类型的TAG常量,内容为类名。打印五种日志,可以分别输入logi、logd、logv、logw、loge,最后按下TAB,会自动补全。STYLE每个按键的展示风格基本相同,为了减少冗余代码,可以.原创 2021-05-22 17:15:26 · 188 阅读 · 6 评论 -
九宫格图片
Android专门设计了点九图片,扩展名png,文件名后常带有“.9”字样。把一张图片划分成3x3的九宫格区域。1.找到代加工的原始图片button_pressed_orig.png,右击弹出菜单。2.选择“Create 9-Patch files”,点击ok,drawable中出现button_pressed_orig.9.png的图片文件。3.图片加工区域,只有九宫格中间的一格会被拉伸。效果对比:...原创 2021-05-21 16:31:16 · 93 阅读 · 0 评论 -
shape:形状定义图形
实际开发中常用3个节点:corners(圆角)、solid(填充)和stroke(描边)。MainActivitypackage com.example.junior;import android.os.Bundle;import androidx.appcompat.app.AppCompatActivity;import android.view.View;public class ShapeActivity extends AppCompatActivity impleme.原创 2021-05-21 10:18:29 · 312 阅读 · 0 评论 -
定制样式的按钮
Button按钮根据不同触摸情况变更图形显示。在项目中创建状态图形的XML文件,右击drawable目录,然后在右键菜单中依次选择New-->Drawable resourse file,即可自动生成一个空的XML文件。关键点是state_pressed,值为true表示按下时显示某图像。Layout<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schema.原创 2021-05-20 22:39:40 · 65 阅读 · 0 评论 -
Button文字周围放置图片
设置图形对象的矩形边界大小,注意必须设置图片大小,否则不会显示图片 setbounds的4个参数, 前两个int 是矩形组件左上角那个点在容器中的坐标。 后两个int 是矩形组件的宽度和高度。MainActivitypackage com.example.junior;import android.graphics.drawable.Drawable;import android.os.Bundle;import androidx.appcompat.app.App...原创 2021-05-20 09:29:22 · 305 阅读 · 0 评论 -
屏幕截图演示
原文链接:https://blog.csdn.net/shenshizhong/article/details/73512879postDelayed中需要传两个参数,一个是Runnable对象,一个是以毫秒为单位的时间。postDelayed经常被用于延时任务,或者定时器。postDelayed的用法:1、创建一个Handler对象2、创建一个Runnable对象3、mHandler.postDelayed(runnable,1000);如果需要清除使用以下方法mHandler原创 2021-05-19 18:36:29 · 139 阅读 · 1 评论 -
图像视图ImageView:图像拉伸演示
在layout调整属性src指定图形来源。Activity中setScaleType设置图形的拉伸类型。MainActivitypackage com.example.junior;import android.os.Bundle;import androidx.appcompat.app.AppCompatActivity;import android.view.View;import android.widget.ImageView;// 页面类直接实现点击监听器的接口View.原创 2021-05-19 17:03:05 · 768 阅读 · 0 评论 -
按钮Button:点击演示
Button派生自TextView。点击方法和长点击方法及其监听器并非Button特有的,而是所有布局和控件都能使用的。MainActivitypackage com.example.junior;import android.os.Bundle;import androidx.appcompat.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.原创 2021-05-19 16:44:12 · 339 阅读 · 0 评论 -
文本视图TextView:聊天室效果
Math.random()生成随机数的范围是 0 到 1 之间的日期时间格式newSimpleDateFormat("dd-MM-yyyy HH:mm:ss"); //年-月-日 时:分:秒 ; HH大写24小时,String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。MainActivitypackage com.example.junior;import android.os.Bundle;import androidx.appcompat.app..原创 2021-05-19 16:18:16 · 121 阅读 · 0 评论 -
文本视图TextView:跑马灯效果
MainActivitypackage com.example.junior;import android.os.Bundle;import androidx.appcompat.app.AppCompatActivity;import android.view.View;import android.widget.TextView;public class MarqueeActivity extends AppCompatActivity implements View.OnClick原创 2021-05-18 22:27:29 · 97 阅读 · 0 评论 -
导入工程出错
下载源码后导入出错。解压阅读《源码说明与导入办法.txt》出现“Plugin with id 'com.android.application' not found.”的错误,因为源码以module形式提供,需要以“Import Module”的形式导入。具体导入步骤如下:1、依次选择菜单“File”——“New”——“New Project”,按提示新建一个项目(即Project);2、项目创建完毕,再依次选择菜单“File”——“New”——“Import Module”,按提示导入具体的d原创 2021-05-18 22:05:32 · 253 阅读 · 0 评论 -
滚动视图ScrollView:滚动视图演示
layout<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!-- HorizontalScrollView是水平方向的滚动视图,当前高度为20原创 2021-05-18 21:54:30 · 102 阅读 · 0 评论 -
线性布局LinearLayout:对齐方式演示
layout<!-- 最外层的布局背景为橙色,它的下级布局在水平方向上依次排列 --><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="300dp" android:background="#ffff99" android:orientat原创 2021-05-18 21:51:38 · 872 阅读 · 0 评论 -
视图View基本属性:空白间隔显示
layout<!-- 最外层的布局背景为蓝色 --><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="300dp" android:background="#00aaff" android:orientation="vertical"原创 2021-05-18 21:49:11 · 237 阅读 · 0 评论 -
颜色显示
MainActivitypackage com.example.junior;import android.os.Bundle;import androidx.appcompat.app.AppCompatActivity;import android.widget.TextView;/** * Created by ouyangshen on 2017/9/11. */public class ColorActivity extends AppCompatActivity {原创 2021-05-18 21:42:42 · 134 阅读 · 0 评论