这半个月一直在学习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的更多相关文章

  1. Android Studio安卓学习笔记(二)Android项目结构

    上一篇代码,我们学习了Android的功能以及如何用Android Studio开发第一个安卓程序.下面就要介绍Android项目结构.为日后学习打基础. 一:Android项目结构 打开MyFris ...

  2. [Android Studio] 按钮学习

    Android Studio 按钮 1. 添加一个按钮 新建一个 Blank Project 之后, 在 activity_main.xml: 中添加一个按钮, 可以使用design 模式来添加,: ...

  3. Android Studio NDK 学习之接受Java传入的字符串

    本博客是基于Android Studio 1.3 preview版本,且默认你已经安装了Android SDK, Android NDK. 用Android Studio新建一个工程叫Prompt,其 ...

  4. Android Studio NDK 学习之接受Java传入的Int数组

    本博客是基于Android Studio 1.3 preview版本,且默认你已经安装了Android SDK, Android NDK. 用Android Studio新建一个工程叫AndroidJ ...

  5. Android Studio安卓学习笔记(一)安卓与Android Studio运行第一个项目

    一:什么是安卓 1.Android是一种基于Linux的自由及开放源代码的操作系统. 2.Android操作系统最初由AndyRubin开发,主要支持手机. 3.Android一词的本义指“机器人”, ...

  6. Android Studio开发学习 - 1. 添加Activity

    1. 项目上点右键,New -> Activity -> Blank Activity 这将生成Activity的 Layout.Class .和相关的配置信息(在AndroidManif ...

  7. Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)

    当我们创建了一个安卓项目后,我们会发现真正建立一个完善的安卓项目并不是想象的那么容易.其实和设计GUI可视化界面一样,开发安卓也需要考虑很多方面,主要考虑的还是界面布局和需要的组件. 一:Androi ...

  8. Android Studio 学习 - 程序安装

    痛定思痛,从今天开始专心学习AndriodStudio.希望以此为契机,把Java学扎实.更希望自己能坚持下去,不要半途而废. 记录一些日常的工作以及碰到的问题,权当勉励自己.荀子曰:吾尝终日而思矣, ...

  9. 转载:Android Studio 快捷键

    Android Studio使用技巧系列教程(一) 分类: android studio2015-07-08 10:04 4774人阅读 评论(6) 收藏 举报 android开发ideandroid ...

随机推荐

  1. nginx+uwsgi部署Django项目到Ubuntu服务器全过程,以及那些坑!!!

    前言:自己在windows上用PyCharm编写的Django项目,编写完后在windows上运行一点问题都没有,但是部署到服务器上时却Bug百出.百度,CSDN,sf,各种搜索寻求解决方案在历时3天 ...

  2. Debian 10 或Ubuntu 安装后启动黑屏解决办法

    对于双显卡设备,很有可能是开源显卡驱动异常导致无法启动,在启动参数那一行加上 nouveau.modeset=0 禁用nouveau驱动即可进入系统

  3. Git用法(一)

    一.通过本地管理推送到github(仓库本来有文件) 1.clone到本地git clone 我的GitHub地址(ssh地址)(ps:新增文件一定要切换到项目目录下再操作)2.提交到本地仓库(1)g ...

  4. C#中实现文件拖放打开的方法

    C#中实现文件拖放打开的方法 设置Form属性 AllowDrop = True; 在Form事件中 private void Form1_DragDrop(object sender, DragEv ...

  5. 斯坦福大学cs231n作业参考(中文版)

    cs231n2016冬季课程作业完成,在原先的基础上进行了翻译和中文注释,同时增加了16之后版本的部分新作业文件,已经全部跑通,需要的欢迎自取. 斯坦福大学的 CS231n(全称:面向视觉识别的卷积神 ...

  6. Python股票量化 选股操作不好用 完结

    这几日,写了一些python的代码,打算来选择股票的, 那么这个思路和开始的一篇文章类似,你会不会被贾跃亭坑?,所以基本的思路也是这样的,举一个简单的例子,就是通过连续几年的ROE数据,和其他的一些财 ...

  7. opencv —— threshold、adaptiveThreshold 固定阈值 & 自适应阈值 进行图像二值化处理

    阈值化 在对图像进行处理操作的过程中,我们常常需要对图像中的像素做出取舍与决策,直接剔除一些低于或高于一定值的像素. 阈值分割可以视为最简单的图像分割方法.比如基于图像中物体与背景之间的灰度差异,可以 ...

  8. 将Chrome浏览器中的扩展程序导出为crx插件文件

    将Chrome浏览器中安装的插件程序导出为crx插件文件 以360急速浏览器为例进行导出crx插件程序 1.在Chrom商店中找到需要的插件,安装到浏览器的扩展程序里面()IDM Integratio ...

  9. mysql 连接查询 转换group_concat, find_in_set

    1.a表 2.b表 3.连接(a_u_id 对应b表的b_id) select a.a_id,a.a_u_id,group_concat(b.b_name) from a_tb a left join ...

  10. DockerFile优化总结

    1- dockerFile为什么要优化 ___ 随着我们对docker镜像的持续使用,在此过程中如果不加以注意并且优化,镜像的体积会越来越多.很多时候我们在使用docker部署应用时,会发现镜像的体积 ...