一.新建一个项目 选择empty activity,此时项目里面没有main.java的文件. 二.手动创建java文件 Project那儿选择android模式,在app/java/com....一般是第一个文件夹下,右击鼠标new->activity->empty activity.Activity Name.Layout Name随便取名,但是要取消外观支援档的勾即取消Generate Layout File前面的勾.接着在Launcher Activity前打勾,意思是以这个activ…
此文章基于第三篇. 一.新建一个layout.xml文件,创建方法不再赘述,在Design界面右击LinearLayout,点击Convert LinearLayout to ConstraintLayout,选择ok. 二.将main.java中setContentView(R.layout.layout);删掉,换成setContentView(R.layout.layout2);即用新建的cpntrainlayout xml文件. 三.切换到layout2.xml,拖动Button到手机预…
本章继续讲述在android界面设计中相关的知识点.介绍内容包括BroadcastReceiver(广播),Service(服务),Widget(小部件),WebView(网页加载控件). 1.BroadcastReceiver (1)广播简介 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制.而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件. 广播接收者( BroadcastReceiver )用于接收广播 I…
谈到android界面设计,各种布局样式不得不提!传统的布局方式有6种,我们会一一介绍. 在android studio2.2版本之后出现了一款超棒的布局方式,真正意义上的所见即所得,后面我们也会讲到! 1.LinearLayout:线性布局:线性布局又有两种,"垂直布局"和"水平布局". 垂直布局每一行只能有一个控件(自己嵌套的不算): 水平布局只有一行,所有的控件依次从左向右排列: linearLayout中有一个重要的属性 android:layout_wei…
Android是运行在各种提供不同的屏幕尺寸和密度的设备.Android系统提供跨设备的统一开发环境和处理大部分的工作,以调整每个应用程序的用户界面,以在其上显示的画面. 同时,该系统提供了API,允许您控制您的应用程序的UI特定的屏幕尺寸和密度,以优化你的用户界面设计,不同的屏幕配置.作为设计师也要最大程度地为所有设备的体现良好的用户体验或是方便使用阅读,而不是简单地拉伸以适应屏幕上的设备. 25学堂跟大家分享这篇Android界面设计适配不同屏幕的尺寸和密度的问题.有几个知识点需要解读下.…
摘自http://blog.csdn.net/liujun13579/article/details/7774267 三十三.Java图形化界面设计--布局管理器之null布局(空布局) 一般容器都有默认布局方式,但是有时候需要精确指定各个组建的大小和位置,就需要用到空布局. 操作方法: 1)       首先利用setLayout(null)语句将容器的布局设置为null布局(空布局). 2)       再调用组件的setBounds(int x, int y, int width,int…
摘自http://blog.csdn.net/liujun13579/article/details/7772491 三十一.Java图形化界面设计--布局管理器之GridLayout(网格布局) 网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式为:从上到下,从左到右. l  组件放入容器的次序决定了它在容器中的位置. l  容器大小改变时,组件…
学习要打好基础,这里用一个项目来学习一下Android的组件,参考网址为这个但不限于这个.有些东西的学习,理解三遍理论还不如一遍操作,所谓理论来自实践,实践是检验真理的唯一标准.所以,虽然看懂了那篇文章,还是自己做一遍来加深理解. 1,cmd下面生成项目 mvn archetype:generate -DarchetypeArtifactId=android-quickstart -DarchetypeGroupId=de.akquinet.android.archetypes -Darchet…
第三篇 功能实现(2) ●Activity的四种启动模式 Activity的启动模式有四种,分别是standard.singleTop.singleTask和singleInstance. 在AndroidManifest.xml中,可以通过<activity>标签的android:launchMode属性设置启动模式. (1)standard:每次激活Activity时, 使用方法startActivity(Intent intent),都创建Activity实例,并放入任务栈: (2)si…
第三篇 功能实现(1) 第8章 Android应用程序组成 ●Android的一些中.底层基础知识 ※ Android Framework 启动过程 Android手机系统本质上是一个基于Linux的应用程序,它以Linux系统为内核. 系统的启动过程包括两个阶段: ① Linux内核的启动; ②Android框架的启动 一.Linux内核启动包括: 1.加载 引导程序bootloader Linux内核启动时首先装载执行bootloader引导程序,装载完成后进入内核程序. 2.加载 Linu…
第三篇 功能实现(3) ●发一个广播和启动一个隐式的Intent非常像,那么它们之间有什么区别呢? Implicit Intents (sent via startActivity( )) and Broadcasts (sent via sendBroadcast( )) have the following differences: Broadcasts, by default, can affect multiple applications at once (Ordered Broadc…
上一章讲述了Android界面设计时,一些基本控件的使用,本章主要讲述自定义控件,Fragment和Headler线程机制. 1.自定义控件 (1)基本知识 dp.sp和dx      px:像素点     dp:与像素密度密切相关     sp:相当于dp,修饰文字专用    dip:相当于dp 用法:    文字尺寸一律用sp    非文字尺寸一律用dp   偶尔需要用px 例如:在屏幕上画细的分割线 1px 当一个控件不在右侧预览视图里面显示的时候是因为控件没有明确的位置,需要设置一个位置…
一.概述 在界面设计中需要根据用户操作显示提示信息.出错信息等,就要用到对话框.Android实现提示信息显示常用有两种方式 1.Toast 2.AlertDialog 二.Toast Android中用来显示显示信息的一种机制,属于轻量级消息开发中使用频率很高.其特点 1. 不接受用户操作,没有焦点 2. 显示的时间有限,过一定的时间就会自动消失. 使用Toast显示信息非常简单,操作如下: Toast toast=Toast.makeText(this, “数据加载完成”, Toast.LE…
一个好的APP不仅有美观,好看的界面,更需要良好的性能和稳定性.作为一名开发人员,需要理解界面设计原则并写出优秀的界面设计代码. 本章主要讲述基本控件的使用,界面布局及一些常用的界面设计属性. 1.常用布局 (1) LinearLayout 相对布局 android:android:layout_weight=”1”      //百分比属性 android:layout_above                        //表示与某个元素绑定后,在某个元素之上 android:layo…
从继承关系来看,所有组件继承自View.容器也是继承自View,它能容纳别的View. 所有容器继承自ViewGroup.包括 FrameLayout, LinearLayout, RelativeLayout, SlidingDrawer , AbsoluteLayout, AdapterView Activity中绑定容器的方法 setContentView(linearLayout) 获取activity最顶层的viewfindViewById(android.R.id.content);…
根据调查显示, iOS与Android的市场份额差距正越来越大.Android设备正在成为手机应用市场的主力军.如何从设计层面创造一个优美的app界面来吸引用户已然成为广大App开发者们必做的功课之一. 尽管苹果的扁平化设计风格在这几年出尽了风头,但Material design主导下的Android应用界面设计也是非常值得设计师学习和重视的.以下是Mockplus(摩客)为大家整理的一些界面设计非常优秀的安卓应用. 1. Eye In Sky Weather 与iOS一样,谷歌Play商店中也…
引言:经过上两篇的论述,我们已经从代码到架构都简单的熟悉了一遍,理论上,只要知道android app的编译过程,我们大可以自己写一份用gradle编译app的插件,插件内将将整个流程用Task的依赖串联起来.现在我们看看gradle是怎么做的. 复习,android 编译流程 面试中经常出现的问题,android的编译流程.这个问题十分简单和好记.android是用java来开发的,所以最基本的流程和java一致:.java -> .class.android有着自己独特的虚拟机环境dalvi…
wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = new DisplayMetrics(); wm.getDefaultDisplay().getMetrics(dm); //将当前窗口的一些信息放在DisplayMetrics类中 float density = dm.density; //密度 px = dp * density dp/px = density int dpi…
http://blog.csdn.net/liujun13579/article/details/7774267    一般容器都有默认布局方式,但是有时候需要精确指定各个组建的大小和位置,就需要用到空布局.          操作方法: 1)       首先利用setLayout(null)语句将容器的布局设置为null布局(空布局). 2)       再调用组件的setBounds(int x, int y, int width,int height)方法设置组件在容器中的大小和位置,单…
http://blog.csdn.net/liujun13579/article/details/7772491 网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式为:从上到下,从左到右. l  组件放入容器的次序决定了它在容器中的位置. l  容器大小改变时,组件的相对位置不变,大小会改变. l  设置网格布局行数和列数时,行数或者列数可以有一个…
http://blog.csdn.net/liujun13579/article/details/7772215 边界布局管理器把容器的的布局分为五个位置:CENTER.EAST.WEST.NORTH.SOUTH.依次对应为:上北(NORTH).下南(SOUTH).左西(WEST).右东(EAST),中(CENTER),如下图所示. 特征: l  可以把组件放在这五个位置的任意一个,如果未指定位置,则缺省的位置是CENTER. l  南.北位置控件各占据一行,控件宽度将自动布满整行.东.西和中间…
边界布局管理器把容器的的布局分为五个位置:CENTER.EAST.WEST.NORTH.SOUTH.依次相应为:上北(NORTH).下南(SOUTH).左西(WEST).右东(EAST),中(CENTER),例如以下图所看到的. 特征: l  能够把组件放在这五个位置的随意一个,假设未指定位置,则缺省的位置是CENTER. l  南.北位置控件各占领一行,控件宽度将自己主动布满整行.东.西和中间位置占领一行;若东.西.南.北位置无控件,则中间控件将自己主动布满整个屏幕.若东.西.南.北位置中不管…
图片来自:http://photo.weibo.com/5174249907/wbphotos/large/mid/3777508610941685/pid/005EaCLFjw1emcpzdgrj9j30hs0rnmyf…
随着安卓智能手机不停的更新换代.安卓手机系统越来越完美,屏幕尺寸也越来越大啦!比如最近小米的miui 6的发布和魅族手机系统的更新等等. 以小米MIUI6的安卓手机来说,MIUI6进行了全新设计,坚持“内容才是本质”的设计哲学,重新提炼内容,简化图标设计. 所以,我们在进行安卓APP设计时,需要好好调整之前的设计规范和设计细节.根据目前流行的安卓手机的系统体验来完成我们的安卓APP设计规范.应该说这是整理出最全面的安卓app设计规范. 25学堂站在不断更新和完善安卓app设计规范为宗旨!利用周末…
第5期:监护仪界面设计 配套例子:V6-908_STemWin提高篇实验_监护仪界面设计(uCOS-III)V6-909_STemWin提高篇实验_监护仪界面设计(FreeRTOS) 例程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=23687 工程介绍:1. 本实例有三个值得大家学习的地方:(1)同一个窗口多个定时器的创建.(2)通过外部按键创建窗口.(3)多波形的显示.2. 按下K2按键创建病人信息窗口.        按…
第4期:简易表盘界面设计 配套例子:V6-906_STemWin提高篇实验_简易表盘界面设计(uCOS-III)V6-907_STemWin提高篇实验_简易表盘界面设计(FreeRTOS) 例程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=23687 工程介绍:1. 本实例有两个值得大家学习的地方:   (1)函数GUI_MEMDEV_CreateAuto和GUI_MEMDEV_DrawAuto的使用,保证时钟表盘不闪烁.(2…
基于前两篇比较简单的实例做铺垫之后,这一篇我们来实现一个稍微复杂一点的引导界面的效果,当然也只是稍微复杂了一点,对于会的人来说当然还是so easy!正所谓会者不难,难者不会,大概说的就是这个意思了吧.好的,话不多说,回归正题. 这篇要实现的是一个仿微信的动画效果,虽然这种效果的实现在网上到处都有,但是我还是想站在中低端开发者的角度去告诉大家是如何实现的,当然实现的方式有很多,我也只是列出了我认为实现起来比较方便的一种方法,希望大家能够受用. 一.实现的效果图 有图才有真相,上图先: 点击按钮后…
这一篇我将分2个部分记录登录界面,第一部分是静态登录, 这部分将如何从界面布局.控件使用.文件关系.数据验证.登陆实现等5小块记录. 第二部分是动态登录,这块会基于上面的4小块,在数据验证不是静态数据, 而是通过WebService获取网络数据,然后解析网络数据,验证成功在进行文件关联,然后页面跳转,最后实现自动登陆; 需求分析 如图所见,对于一个程序员来说,不管你是做android\.NET\IOS,如果让你来做上图效果, 大家都会明白从哪里入手. 1:界面布局(分为3块,顶部标题栏.表单提交…
这一篇我将分2个部分记录登录界面,第一部分是静态登录, 这部分将如何从界面布局.控件使用.文件关系.数据验证.登陆实现等5小块记录. 第二部分是动态登录,这块会基于上面的4小块,在数据验证不是静态数据, 而是通过WebService获取网络数据,然后解析网络数据,验证成功在进行文件关联,然后页面跳转,最后实现自动登陆; 需求分析 如图所见,对于一个程序员来说,不管你是做android\.NET\IOS,如果让你来做上图效果, 大家都会明白从哪里入手. 1:界面布局(分为3块,顶部标题栏.表单提交…
  前  言 JRedu Android应用开发中,除了界面编程外,另一个重要的内容就是组件的事件处理.在Android系统中,存在多种界面事件,比如触摸事件.按键事件.点击事件等.在用户交互过程中,App必须为用户提供响应逻辑,这种响应就是通过事件处理完成的. 本章内容将详细介绍Android事件的具体处理及常见事件. 3.1 Android 事件基础知识 Android中提供了两种处理事件的方式: 基于监听器的事件处理 基于回调的事件处理 在事件处理过程中涉及到三个重要概念,具体如下: 事件…