Android Studio阶段性学习总结_1
这半个月一直在学习Android方面的知识,对Android开发有了一个基本的认识,学会了Android studio的基本操作。
在建立第一个Android studio项目时,我遇到了很大的阻碍,像这种问题ERROR: Cause: unable to find valid certification path to requested target等等,我以为会像安装ecplise时那样卡住,每当解决一个问题就会冒出一个新的问题,后来我放平了心态,平心静气地去寻找它的原因,百度了各种方法,像设置代理等等方法,再后来我知晓了这大概是网络问题。在暑假搞ecplise时就是因为家里的wifi并不能访问它的网站而安装失败,后来我就用自己的流量试了试,这个无法连接的问题就解决了,之后我又注释掉了junit,才正常构建出第一个hello world,正如在ecplise安装过程一样,这几天时间使我对Android studio更加熟悉,为后续的学习开辟道路。
在解决完它的构建问题后,我便全身心投入到了Android学习中去,首先,我花了两天时间熟悉了各类文件的位置,并学习了线性布局和相对布局两种基础的布局,了解到了两种布局的各种属性,像height、width、orientation、below、background等等,对控件布局有了基本认识。在我看来,线性布局便是控件沿着横向或纵向排列,而相对布局则更复杂一点,它以每个控件地相对位置进行布局。
之后,我又学习了TextView、Button和EditText,首先学习了TextView的各种属性,学会了通过singleLine、ellplize、marqueeRepeatLimite、focusable、focusableInTouchMode设置文字的跑马灯效果,学习了如何通过xml文件制作控件的各种背景,通过corner和riple等属性设置按钮的各种效果,通过hint设置背景字体,制作了一个简单的登录界面,可以给按钮加一个简单的监听事件,弹出一个Toast。

后来两天,我又学习了RadioButton和CheckBox,学会了监听选取事件,并会设置它的各种样式,


学会了通过ImageView加载图片,通过引用glide包下的Glide.with(activity).load();加载网络图片资源。

后来,我又学习了各种视图:列表视图,网格视图,滚动视图,循环视图,网络视图等。
视图这里需要用到适配器Adapter管理布局,写一个layout作为单元布局,通过iflater填充布局,在Adapter中获取单元layout,并对数量和内容进行管理,网格视图可对行列数进行设置,而列表视图只能设置单行或单列。

ScrollView和HorScrollView中只能有一个子控件,所以在子控件中写一个布局在布局中写控件实现视图的横向滚动和竖向滚动。
WebView使用前要先在manifest声明网络权限<uses-permission android:name="android.permission.INTERNET" />,和其他各种权限
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setAllowFileAccess(true);
wv.getSettings().setAllowContentAccess(true);
wv.setWebViewClient(new WebViewClient());
通过.load加载资源


对于RecyclerView暂时还不是很理解。但了解了它的简单用法,了解到通过RecyclerView实现水平视图、列表视图和瀑布流视图。
之后,我又对Toast进行了学习。通过setGravity设置弹出位置,设置弹出时间,弹出一个view等。


通过showToast方法解决时间叠加问题
public static void showToast(Context context, String msg, int Length, int gravity) {
if (toast == null) {
toast=Toast.makeText(context, msg, Length);
} else {
toast.setText(msg);
}
if (gravity!=0)
toast.setGravity(gravity,0,0);
toast.show();
}
之后又学会实现各种dialog,了解到dialog的各种方法。





前两天,我又对ProgressBar、自定义dialog和PopWindow进行了学习,实现了进度条的各类样式,包括通过drawable xml和style实现自定义style的进度条样式,通过handler和runable实现进度条信息传递和加载以及ProgressDialog的实现。



自定义dialog:通过自定义的layout画出布局
,在CustomDialog类中实现settitle,setmessage等各种方法,加上监听接口实现自定义dialog。

PopWindow的实现
View view=getLayoutInflater().inflate(R.layout.layout_pop,null);
popupWindow=new PopupWindow(view,button.getWidth(),4*button.getHeight(),true);
//可取消
popupWindow.setOutsideTouchable(true);
popupWindow.showAsDropDown(button);


Android Studio阶段性学习总结_1的更多相关文章
- Android Studio安卓学习笔记(二)Android项目结构
上一篇代码,我们学习了Android的功能以及如何用Android Studio开发第一个安卓程序.下面就要介绍Android项目结构.为日后学习打基础. 一:Android项目结构 打开MyFris ...
- [Android Studio] 按钮学习
Android Studio 按钮 1. 添加一个按钮 新建一个 Blank Project 之后, 在 activity_main.xml: 中添加一个按钮, 可以使用design 模式来添加,: ...
- Android Studio NDK 学习之接受Java传入的字符串
本博客是基于Android Studio 1.3 preview版本,且默认你已经安装了Android SDK, Android NDK. 用Android Studio新建一个工程叫Prompt,其 ...
- Android Studio NDK 学习之接受Java传入的Int数组
本博客是基于Android Studio 1.3 preview版本,且默认你已经安装了Android SDK, Android NDK. 用Android Studio新建一个工程叫AndroidJ ...
- Android Studio安卓学习笔记(一)安卓与Android Studio运行第一个项目
一:什么是安卓 1.Android是一种基于Linux的自由及开放源代码的操作系统. 2.Android操作系统最初由AndyRubin开发,主要支持手机. 3.Android一词的本义指“机器人”, ...
- Android Studio开发学习 - 1. 添加Activity
1. 项目上点右键,New -> Activity -> Blank Activity 这将生成Activity的 Layout.Class .和相关的配置信息(在AndroidManif ...
- Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)
当我们创建了一个安卓项目后,我们会发现真正建立一个完善的安卓项目并不是想象的那么容易.其实和设计GUI可视化界面一样,开发安卓也需要考虑很多方面,主要考虑的还是界面布局和需要的组件. 一:Androi ...
- Android Studio 学习 - 程序安装
痛定思痛,从今天开始专心学习AndriodStudio.希望以此为契机,把Java学扎实.更希望自己能坚持下去,不要半途而废. 记录一些日常的工作以及碰到的问题,权当勉励自己.荀子曰:吾尝终日而思矣, ...
- 转载:Android Studio 快捷键
Android Studio使用技巧系列教程(一) 分类: android studio2015-07-08 10:04 4774人阅读 评论(6) 收藏 举报 android开发ideandroid ...
随机推荐
- 封装好通用的reset.css base.css 样式重置css文件
一般是叫reset.css 我这边命名成base.css 哎呀无所谓…… @charset "UTF-8"; /*css reset*/ /*清除内外边距*/ body, h1, ...
- 「Flink」使用Java lambda表达式实现Flink WordCount
本篇我们将使用Java语言来实现Flink的单词统计. 代码开发 环境准备 导入Flink 1.9 pom依赖 <dependencies> <dependency> < ...
- Spark基础和RDD
spark 1. Spark的四大特性 速度快 spark比mapreduce快的两个原因 基于内存 1. mapreduce任务后期在计算的是时候,每一个job的输出结果都会落地到磁盘,后续有其他的 ...
- Python——模块和包
一.概念 """模块():一个python文件,以 .py 结尾,包含python对象定义和语句.模块可以定义函数.类.变量,也可包含可执行文件 导入模块: 1.impo ...
- python提取图片内容并转换成对应表格的markdown代码
本节我们将介绍使用python识别一张图片中的内容,并试着得到一张表格,当然并不是类似于Excel的表格,而是该表格的markdown代码. 注:原创内容,转载请标明出处! 相关工具的安装 本次实验环 ...
- .NetCore 3.0迁移遇到的各种问题
错误集合 [错误]当前+.NET+SDK+不支持将+.NET+Core+3.0+设置为目标.请将+.NET+Core+2.2+或更低版 [解决方法]勾选上就可以了 2. [错误] add-migrat ...
- Jmeter连接数据库并使用数据表数据作为接口所需参数
jmeter连接数据库,并且使用数据库的用户名密码进行登录操作,具体步骤如下: 1.参考博客<Jmeter连接SqlServer数据库并操作>进行相关内容的补充,修改JDBC Reques ...
- nvm Nodejs 版本管理器 安装及配置
1.如果已安装nodejs请先卸载干净 nodejs:删除C:\Program Files\nodejs 文件夹 npm:删除C:\Users\{用户名}\AppData\Roaming\npm 文件 ...
- 剑指offer-面试题39-数组中出现次数超过一半的数字-快速排序
/* 题目: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字. 例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输 ...
- phpcmsv9 后台统计编辑发稿数量
直切正题: 每个人,每个栏目,发稿数量统计 SELECT a.realname AS 姓名, c.catname AS 栏目名称, count(1) AS 发稿量FROM v9_news bz, v9 ...