Android开发 UI布局一.线性布局LinearLayout 什么是线性布局? 其实呢,线性布局就是把所有的孩子摆在同一条线上 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_paren…
Android开发–UI之Bundle的使用 最近,把之前学过的东西大体的整理了以下,并且想把学过的心得分享给大家.我自己做了一个小小的demo,以便说明具体的应用. 这里的两个界面是通过第一个界面输入,然后,第二个界面输出结果的. 废话少说,直接进入正题. 第一个界面的代码: package com.example.intenttest; import android.app.Activity; import android.content.Intent; import android.os.…
接上篇<android开发艺术探索>读书笔记(十)--Android的消息机制 No1: 在Android中可以扮演线程角色的有很多,比如AsyncTask.IntentService.HandlerThread. AsyncTask底层封装了线程池和Handler,主要是为了方便开发者在子线程中更新UI. HandlerThread底层直接使用线程,是一种具有消息循环的线程,在它内部可以使用Handler. IntentService底层使用了线程,是一个服务,系统对其进行了封装使其可以更方…
android:gravity / android:layout_Gravity区别: android:gravity 是设置该view里面的内容相对于该view的位置,例如设置button里面的text相对于view的靠左,居中等位置. android:layout_gravity 是用来设置该view相对与父view 的位置,例如设置button在layout里面的相对位置:屏幕居中,水平居中等. 在实践中,发现有时会同时使用android:gravity和 android:layout_G…
原文:http://blog.csdn.net/java886o/article/details/24355907 本文为那些不错的Android开源项目第一篇——个性化控件(View)篇,主要介绍Android上那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar及其他如Dialog.Toast.EditText.TableView.Activity Animation等等…
Android 新兴的UI模式——侧边导航栏 侧边导航栏也就是大家熟知的SliddingMenu,英文也叫Fly-In App Menu.Side Navigation等.当然谷歌现在已经推出类似这个效果的组件--Navigation Drawer                            Side navigationFly-in app menuSlide out navigationSliding navigation ba... 2013-06-13 12:07 阅读(803…
实现功能: 1.APP主界面底部模块栏 2.ViewPager一屏多个界面显示 3......... 首先需要了解一下这个属性的意思 ,即 是否允许子View超出父View的返回,有两个值true .false  ,默认true 使用的时候给子View和根节点View控件都设置android:clipChildren="false",那么这个子View就不会限制在父View当中 ------------------------------------------------------…
接上篇<android开发艺术探索>读书笔记(九)--四大组件 No1: 消息队列MessageQueue的内部存储结构并不是真正的队列,而是采用单链表的数据结构来存储消息列表,因为单链表在插入和删除上比较有优势 No2: ThreadLocal可以在不同的线程中互不干扰地存储并提供数据,通过ThreadLocal可以轻松获取每个线程的Looper. No3: 线程默认是没有Looper的,如果需要使用Handler就必须为线程创建Looper. No4: 我们经常提到的主线程,也叫UI线程,…
在Android中,无论是开发者还是用户,接触最多的就算是Activity.它是Android中最复杂.最核心的组件.Activity组件是负责与用户进行交互的组件,它的设计理念在很多方面都和Web页面类似.当然,这种相似性主要体现在设计思想上.在具体实现方面,Android的Activity组件有自己的设计规范,同时,它能够更简便地使用线程.文件数据等本地资源. 一.Activity 的生命周期 Activity 的生命周期是被以下的函数控制的. public class Activity e…
1.前言 今天再一次在官网看到了ArcGIS Runtime SDK for Android下一个版本“Quartz”版的更新资料,它将是一个非常重要的更新,包括API接口的重构和开发思路的调整.具体如下图所示: 在ArcGIS Runtime SDK概述一文中已经给大家介绍了ArcGIS Runtime SDK for Android的前世今生,从2011年6月发布ArcGIS Runtime SDK for Android beta版开始,到2015年10月1日发布ArcGIS Runtim…
在讲解Android的数据源组件——ContentProvider之前我觉得很有必要先弄清楚Android的数据结构. 数据和程序是应用构成的两个核心要素,数据存储永远是应用开发中最重要的主题之一,也是开发平台必须提供的基础功能.不光是在Android平台上,在其他的平台上,数据的存储永远是不可缺少的一块.Android的数据存储是构建在Linux的文件系统上,它充分利用Linux的账号系统来限定应用对数据的访问,部署了一套安全和灵活并重的数据存储解决方案.Android的文件框架,以及各种数据…
废话不多说了,紧接着来讲数据库的操作吧.Come On! 提到数据存储问题,数据库是不得不提的.数据库是用来存储关系型数据的不二利器.Android为开发者提供了强大的数据库支持,可以用来轻松地构造基于数据库的应用.Android的数据库应用,依托于当下最流行的开源嵌入式数据库SQLite.在Android中,应用的数据库文件是该应用私有的,存储在应用数据目录下的databases子目录内.从代码结构来看,Android的数据库实现可以分成两个层次,在底层通过C++调用SQLite的接口来执行S…
数据源组件ContentProvider与其他组件不同,数据源组件并不包括特定的功能逻辑.它只是负责为应用提供数据访问的接口.Android内置的许多数据都是使用ContentProvider形式,供开发者调用的(如视频,音频,图片,通讯录等).如果把第三方应用比作一个黑盒子的话,ContentProvider就像是从里面延伸出来的管道,从这个管道,应用可以把一些数据共享出来,我们也可以往里面输送数据.但是里面怎么处理数据我们看不到,也管不着.并且这个管道是有规范标准的,不是它规定的数据你塞不进…
这几天忙着驾校考试,连电脑都碰不到了,今天总算告一段落了~~Service作为Android的服务组件,默默地在后台为整个程序服务,辅助应用与系统中的其他组件或系统服务进行沟通.它跟Activity的级别差不多,但不能自己运行只能后台运行.service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等, 总之服务总是藏在后台的. ps:Service运行在主线程中的,所…
广播接受者是作为系统的监听者存在着的,它可以监听系统或系统中其他应用发生的事件来做出响应.如设备开机时,应用要检查数据的变化状况,此时就可以通过广播来把消息通知给用户.又如网络状态改变时,电量变化时都可以通过广播来通知用户.要做比喻的话,广播就像是我们的感官,能够有效且快速的从外界获取信息来反馈给自身. 一.广播的功能和特征 广播的生命周期很短,经过 调用对象—实现onReceive—结束 整个过程就结束了.从实现的复杂度和代码量来看,广播无疑是最迷你的Android 组件,实现往往只需几行代码…
      什么是动画,动画的本质是通过连续不断地显示若干图像来产生“动”起来的效果.比如说一个移动的动画,就是在一定的时间段内,以恰当的速率(起码要12帧/秒以上,才会让人产生动起来的错觉)每隔若干时间在屏幕上更新一次位置.游戏中的动画效果也是由此而来.同样还有其他属性变更所引起的动画效果,从数学的角度来看,包括:(1)平移(2)旋转(3)缩放(4)透明度.当然这些属性可以组合起来使用,来达到更绚丽的画面.但是不论什么样的组合方式,我们都可以统一用Matirx运算来实现,从技术实现的角度来讲,…
Android的控件都派生自android.view.View类,在android.widget包中定义了大量的系统控件供开发者使用,开发者也可以从View类及其子类中,派生出自定义的控件. 一.Android的控件结构 Android中有一类重要的控件,称为容器控件,它们派生自View的子类android.view.ViewGroup.每个容器控件都可以作为父控件存在,其中包含若干个子控件,每个子控件占据其父控件的一块区域,统一由父控件进行管理和支配. 交互界面中控件的关系直观上是极其复杂的,…
继续我们的Android之路吧.今天我要介绍的是Android的Intent. 对于基于组件的应用开发而言,不仅需要构造和寻找符合需求的组件,更重要的是要将组件有机的连接起来,互联互通交换信息,才能够最终提供应用所期望的服务.而为了能够更好地实现组件复用,充分地利用每一个组件的能力,就需要这些组件连接的模式足够灵活和统一,并且可以进行动态地扩展.所以Android提供了利用Intent对象建立连接并实现组件通信的模式.Intent对象是Android组件连接的核心,集中体现了整个组件连接模型的设…
1.XML文件中的OnClick 属性可以指定在Activity中处理点击事件的方法,Activity中必须定义该属性指定的值作为方法的名字且有一个View类型的参数,表示此物件被点击. 2.使用selector配置可以实现不同模式下按钮的样式. selector文件属性说明: android:drawable 默认状态 android:state_pressed 是否按下,如一个按钮触摸或者点击. android:state_focused 是否取得焦点,比如用户选择了一个文本框. andro…
1.GridLayout 官网截图 GridLayout包含的属性如下: android:alignmentMode属性说明:当设置alignMargins,使视图的外边界之间进行校准.可以取以下值:alignBounds -- 对齐子视图边界.alignMargins -- 对齐子视图边距. android:columnCount属性说明:GridLayout的最大列数 android:rowCount属性说明:GridLayout的最大行数 android:columnOrderPreser…
Toast,A toast provides simple feedback about an operation in a small popup. 对于操作提供一个简单反馈信息. 官网链接:http://developer.android.com/reference/android/widget/Toast.html 常量有两个: LENGTH_LONG   显示稍微长点的时间,大概在5秒左右LENGTH_SHORT    显示稍微短点的时候,大概在3秒左右 比较简单的使用 代码: Toas…
转自第一行代码-Android Android是不允许在子线程中进行UI操作的.在子线程中去执行耗时操作,然后根据任务的执行结果来更新相应的UI控件,需要用到Android提供的异步消息处理机制. 代码如下: public class MainActivity extends Activity implements OnClickListener { private static final int UPDATE_TEXT=1; private TextView textView; privat…
郭大神的讲解:http://blog.csdn.net/guolin_blog/article/details/18234477 官网链接:http://developer.android.com/intl/zh-CN/guide/topics/ui/actionbar.html…
ImageView控件添加蒙版, 通过属性:android:tint="" 比如 android:tint="#44ff0000"…
在ListView的Item中,如果有Button控件,那么要实现Button和Item点击都有响应,可以将Item的Layout中Button的focusable属性设为false,然后设置layout的属性android:descendantFocusability="blocksDescendants". 代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout…
1. 声明EditText变量,并关联到相应控件上 private EditText sellStartTime; private EditText sellEndTime; sellStartTime = (EditText)findViewById(R.id.editSellStartTime); sellEndTime = (EditText)findViewById(R.id.editSellEndTime); 2. 日期选择器函数 private DatePickerDialog.On…
去掉屏幕上的title bar有3个方法: 1.java代码实现: @Override publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); //... } 2.自定义style配置文件 在\res\values里面的style…
Notification,顾名思义,通知,就是我们常说的系统推送. 官网链接:http://developer.android.com/reference/android/app/Notification.html 要想使用Notification,还需要使用几个类,NotificationManager.NotificationCompat.Builder.PendingIntent.Intent 这个是官网教你如何创建一个Notificiation:http://developer.andr…
ViewPager,官网链接--http://developer.android.com/reference/android/support/v4/view/ViewPager.html ViewPager,位于android.support.v4.view.ViewPager. 1.继承自ViewGroups,继承关系请看官网截图 2.主要使用在 a.app的引导页面的展示   b.可左右滑动的框架 ViewPager特点: 1)ViewPager类直接继承了ViewGroup类,所有它是一个…
1.通过JAVA代码添加,资源文件基本上不修改 XML文件,只添加了一个ListView,就不贴XML文件的代码了. java代码: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);…