这半个月一直在学习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. laravel web server设置远程访问及原理

    laravel中可以用命令行php artisan serve 启动web server,并通过localhost:8000访问项目. 但是因为开发环境为虚拟机部署项目,然后通过端口访问,所以开启服务 ...

  2. LeetCode 57. Insert Interval 插入区间 (C++/Java)

    题目: Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if nec ...

  3. Tomcat 项目部署、账户配置、状态监测

    tomcat部署项目 方式一.自动部署(最常用) 直接把war包或部署的文件夹放到webapps下. tomcat启动后会自动监听webapps下的文件|目录,放入打包好的项目会自动部署,移除打包好的 ...

  4. Docker 网络原理

    引言 学习docker网络,可以带着下面两个问题来探讨 容器之间可以相互访问的原理 容器暴露端口后,通过宿主机访问到容器内应用,并且对于访问端而言不用感知容器存在的原理 Docker 本身的技术依赖L ...

  5. python3-cookbook笔记:第五章 文件与IO

    python3-cookbook中每个小节以问题.解决方案和讨论三个部分探讨了Python3在某类问题中的最优解决方式,或者说是探讨Python3本身的数据结构.函数.类等特性在某类问题上如何更好地使 ...

  6. 吴裕雄--天生自然HADOOP操作实验学习笔记:分布式资源调度系统yarn的安装

    实验目的 复习配置hadoop初始化环境 复习配置hdfs的配置文件 学会配置hadoop的配置文件 了解yarn的原理 实验原理 1.yarn是什么 前面安装好了hdfs文件系统,我们可以根据需求进 ...

  7. Wannafly Winter Camp 2020 Day 7D 方阵的行列式 - 数学

    于是去弄了个板子来 #include <bits/stdc++.h> using namespace std; #define int long long const int mod = ...

  8. PhpCms V9调用指定栏目子栏目文章的方法

    PhpCms V9调用指定栏目子栏目文章的方法 第一种,直接写父类id {pc:content action="lists" catid="父类id" num= ...

  9. Pr常用的键盘操作

    Pr常用的键盘操作 Shift选中切开的小段 Alt复制效果

  10. UniGUI之UniLabel(31)

    1]改变文本Caption 2]改变颜色字体Font 3]点击访问网址,OnClick事件 1]改变文本Caption unilabel1.Caption:='unilabel1文本'; 2]改变颜色 ...