【Android 知识框架】
文章平均质量分 87
tuke_tuke
这个作者很懒,什么都没留下…
展开
-
Android之Inflate()方法用途
flate()作用就是将xml定义的一个布局找出来,但仅仅是找出来而且隐藏的,没有找到的同时并显示功能。最近做的一个项目就是这一点让我迷茫了好几天。 Android上还有一个与Inflate()类似功能的方法叫findViewById(),二者有时均可使用,但也有区别 区别在于: 如果你的Activity里用到别的layout,比如对话框layout,你还要设置这个layout上的其他组件的内转载 2015-05-23 19:40:14 · 758 阅读 · 0 评论 -
Android的圆角按钮和按钮颜色
1. android 设置圆角按钮后,按下按钮后,还能改变按钮的颜色转载 2015-05-23 19:53:44 · 828 阅读 · 0 评论 -
为什么安装Android SDK后无法安装flatform?
安装SDK后如图,没有提供Android platform下载: android sdk更新需要外国网站google的支持,大陆地区屏蔽了。要配置hosts文件才行 1、(C:\Windows\System32\drivers\etc\hosts在hosts里修改 2、使用https安全协议 选择andorid sdk>tools>options>force https转载 2015-05-23 19:30:25 · 539 阅读 · 0 评论 -
Android ListView重写Adapter
在很多项目中都会用到ListView,但基本都需要进行重写Adapter,但每次都是会找好半天,写在这儿方便以后copy~~ xml定义一个ListView:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"转载 2015-05-23 20:06:43 · 743 阅读 · 0 评论 -
Android之Android:layout_weight详解
1、LinearLayout可以为其包含控件指定填充权值layout_weight。 这样就允许其包含的控件可以填充屏幕上的剩余空间。这也避免了所有控件挤成一堆的情况,而是允许他们放大填充所有空白。剩余的空间会按这些控件指定的权值比例分配屏幕。2、默认情况下,weight的值是0,表示按照控件的实际大小显示;如果weight设置高于零。3、剩余空间会按照该控件的weight值占所有控件weight的转载 2015-05-23 20:19:42 · 692 阅读 · 0 评论 -
Bundle savedInstanceState的作用
写过Android程序的都知道Activity中有一个名称叫onCreate的方法。该方法是在Activity创建时被系统调用,是一个Activity生命周期的开始。可是有一点容易被忽视,就是onCreate方法的参数savedInstanceState。因为在一般的程序开发中,很少用到这个参数。 onCreate方法的完整定义如下:public void onCreate(Bundle save转载 2015-05-23 19:49:59 · 1075 阅读 · 0 评论 -
Android中ADT和SDK的关系
Android平台与SDK Tools版本、ADT版本的对应关系Android平台 SDK Tools的版本 ADT版本Android 2.2 R7 ADT-0.9.9Android 2.3 R8 ADT-8转载 2015-05-23 19:06:47 · 928 阅读 · 0 评论 -
Android Hander机制的理解
总以为自己对Handler比较了解,但今天发现还是不了解,以后写代码得好好的看看android doc了,这样才能理解的更深。 一直以为Handler.post(Runnable)为开启一个线程,所以出现了一下问题。 我定义了一个Runnable用来实现短信的分段读取:private class SubSectionRunnable implements Runnable{转载 2015-05-23 20:04:13 · 730 阅读 · 0 评论 -
对canvas的translate()方法的理解
canvas.save();//锁画布(为了保存之前的画布状态) canvas.translate(10, 10);//把当前画布的原点移到(10,10),后面的操作都以(10,10)作为参照点,默认原点为(0,0) drawScene(canvas); canvas.restore();//把当前画布返回(调整)到上一个save()状态之前 canvas.save();//锁画布转载 2015-05-23 19:57:39 · 654 阅读 · 0 评论 -
通过XML设置屏幕方向(android:screenOrientation)详解
注意:android只支持270度旋转<activity android:name=".MyActivity" android:label="@string/app_name" android:screenOrientation="portrait">android:screenOrientation设定该活动的方向, 该值可以是任何一个下面的字符串: “u转载 2015-05-23 20:12:15 · 588 阅读 · 0 评论 -
UI组件之AdapterView及其子类关系,Adapter接口及其实现类关系
AdapterView本身是一个抽象基类,它派生的的子类在用法上十分相似。AdapterView直接派生的三个子类:AbsListView,AbsSpinner,AdapterViewAnimator,这三个子类依然是抽象的,实际应用中往往采用它们的子类。AdapterView 的子类是内容由 Adapter 来决定的视图类,就是说其实显示的组件。AdapterView有如下特征:1,原创 2016-01-15 17:39:09 · 3331 阅读 · 0 评论 -
UI组件之AdapterView及其子类(一)三种Adapter适配器填充ListView
AdapterView的内容一般是包含多项相同格式资源的列表,常用的有5种AdapterView的子类:(1)ListView:简单的列表(2)Spinner:下拉列表,给用户提供选择(3)Gallery:缩略图,已经被水平的ScrollView和ViewPicker取代,但也还算常用,是一个可以把子项以中心锁定,水平滚动的列表(4)GridView:网格图,以表格形式显示资源,可原创 2016-01-16 11:26:28 · 7698 阅读 · 0 评论 -
UI组件之AdapterView及其子类(二)GridView网格视图的使用
GridView网格视图属性:android:numColumns="auto_fit" --------列数设置为自动,可以为确定的数值android:columnWidth="90dp",----------每列的宽度,也就是Item的宽度android:verticalSpacing="10dp"----------各单元格垂直边距android:horizontal原创 2016-01-16 15:40:39 · 1325 阅读 · 0 评论 -
UI组件之AdapterView及其子类(三)Spinner控件详解
Spinner提供了从一个数据集合中快速选择一项值的办法。默认情况下Spinner显示的是当前选择的值,点击Spinner会弹出一个包含所有可选值的dropdown菜单或者一个dialog对话框,从该菜单中可以为Spinner选择一个新值。这篇文章中我将讨论1.Spinner的基本用法 2.Spinner的xml属性3.设置Spinner的Adapter (antries属性,原创 2016-01-16 16:34:05 · 1884 阅读 · 0 评论 -
UI组件之AdapterView及其子类(四)Gallery画廊控件使用
听说 Gallery现在已经不使用了,API使用ViewPaper代替了,以后再学专研ViewPaper吧现在说说Gallery画廊,就是不停显示图片的意思Gallery是用来水平滚动的显示一系列项目。Gallery组件可以横向显示一个图像列表,当单击当前图像的后一个图像时,这个图像列表会向左移动一格,当单击当前图像的前一个图像时,这个图像列表会向右移动一样。也可以通过拖动的方式来向左和向右移原创 2016-01-17 11:06:43 · 1350 阅读 · 0 评论 -
UI组件之AdapterView及其子类(五)ListView组件和ListActivity
ListView组件是一个显示组件,继承AdapterView基类,前面已经介绍了分别使用ArrayAdapter,SimpleAdapter,扩展BaseAdapter来为LisView提供列表项http://blog.csdn.net/tuke_tuke/article/details/50527018,在其中都要在xml文件中定义ListView组件,然后再Activity.java文件中通原创 2016-01-17 11:51:02 · 1190 阅读 · 0 评论 -
UI组件之AdapterView及其子类(六)ExpandableListView组件和ExpandableListActivity的使用
ExpandableListView是ListView的子类,他在ListView上进行了扩展,它把列表项分成了几组,每组里包含了多个列表项ExpandableListView的列表项是由ExpandableListAdapter提供的,实现ExpandableListAdapter三种常用方式,常用的ExpandableListAdapter子类如下:1,扩展BaseExpandab原创 2016-01-17 16:41:06 · 2016 阅读 · 0 评论 -
Eclipse搭建android环境及Genymotion模拟器安装问题解决方法
最近实验室新买了台式电脑,又要重新搭建android环境了,话说自从google被封了之后eclipse搭建android真是不容易了,虽然现在官方推荐使用studio了,但是还是不太习惯studio啊,昨天搞了整整搞了一天,这个过程很长,中间遇到的各种问题,但是都一一解决了,现在还是把这个过程写下来,方便以后再次安装吧,也和大家分享。1,首先我使用了捆绑adt的eclipse,这样就节省了e原创 2016-01-01 11:07:18 · 1346 阅读 · 0 评论 -
表格布局(TableLayout)及重要属性
TableLayout属性: android:collapseColumns:将TableLayout里面指定的列隐藏,若有多列需要隐藏,请用逗号将需要隐藏的列序号隔开。 android:stretchColumns:设置指定的列为可伸展的列,以填满剩下的多余空白空间,若有多列需要设置为可伸展,请用逗号将需要伸展的列序号隔开。 android:shrink原创 2016-01-04 20:09:55 · 4753 阅读 · 0 评论 -
UI组件之 ProgressBar及其子类(一)ProgressBar进度条的使用
ProgressBar本身进度条组件,它派生了:SeekBar和RatingBar两个组件,他们的继承关系如下:1、ProgressBar有两个进度,一个是android:progress,另一个是android:secondaryProgress。后者主要是为缓存需要所涉及的,比如在看网络视频时候都会有一个缓存的进度条以及还要一个播放的进度,在这里缓存的进度就可以是android:s原创 2016-01-21 17:29:03 · 1845 阅读 · 0 评论 -
UI组件之ProgressBar及其子类(二)SeekBar拖动条和RatingBar星级评分条的使用
拖动条采用拖动滑块的位置来表示数值SeekBar的常用xml属性值:重要的android:thumb制定一个Drawable对象,改变滑块外观通过滑块来改变图片的透明度:main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@原创 2016-01-21 19:35:42 · 1868 阅读 · 0 评论 -
帧布局(FrameLayout)及属性
帧布局FrameLayout直接继承ViewGroup组件,帧布局容器每加入一个组件创建一个空白区域,每个组件占据一帧,添加的组件是一个一个叠在一起的。<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" a原创 2016-01-05 20:03:42 · 8092 阅读 · 0 评论 -
layout_width和width,layout_height和height
对于每个组件,可以独自的使用Layout _width ,layout_heigh直接的设置相对于父容器的大小。android:width 的值,一般是 "100dp" 这样的数值;android:layout_width 的值,一般是"fill_parent","wrap_content","match_parent".当然,它也可以像前者一样,设置数值的.并且,一个组件可以只有原创 2016-01-05 20:09:31 · 8407 阅读 · 0 评论 -
UI组件之TextView及其子类
学习完了需要经常总结,可能总结的不够全面,但是也是自己学习的进步。总结了如下图的关系,android那么多组件,清楚组件之间的关系感觉也是很重要的!下图中的每个组件的代码使用例程自己都敲过了,印象深刻,以后在上代码。原创 2016-01-07 17:24:48 · 1037 阅读 · 0 评论 -
Android使用Intent启动Service的Intent必须是显式的
今天使用Intent来启动Service时,代码如下: //为 Intent设置Action属性 intent.setAction("com.hust.service"); start.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) {原创 2016-01-25 15:39:53 · 8307 阅读 · 0 评论 -
UI组件之TextView及其子类(二)RadioButton和CheckBox
单选按钮(RadioButton)和复选框(CheckBox),状态开关按钮(ToggleButton),开关(Switch)都是普通的UI组件,都继承了Button类,因此都可以用Button的各种属性和方法。RadioButton通常要与RadioGroup一起使用,用于定义一组单选按钮对于二者而言,最主要的还是要看他们的监听器,RadioButton的事件监听器是:单选按钮的监听原创 2016-01-09 22:00:04 · 1548 阅读 · 0 评论 -
UI组件之TextView及其子类(一)TextView和EditText
先来整理一下TexView,EditView的用法。Textview是最基本的组件,直接继承了View,也是众多组件的父类,所以了解她的属性会对学习其他组件很有帮助。TextView的属性: android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/原创 2016-01-09 20:12:28 · 3655 阅读 · 1 评论 -
UI组件之TextView及其子类(三)ToggleButton和Switch
ToggleButton、Switch、CheckBox和RadioButton都是继承自android.widget.CompoundButton,意思是可选择的,因此它们的用法都很类似。CompoundButton有两个状态,分别是checked和not checked。ToggleButton的属性:Switch组件的属性:android:thumb是原创 2016-01-11 19:56:56 · 1503 阅读 · 2 评论 -
去掉标题栏全屏显示代码
requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); //全屏显示原创 2016-03-01 15:34:38 · 550 阅读 · 0 评论 -
UI组件之TextView及其子类(四)AnalogClock,DigitalClock
DigitalClock本身就继承了TextView,也就是说他本身就是文本框,只是显示的内容总是当前时间,DigitalClock设置的android:text属性没什么作用。AnalogClock继承的View组件,它重写了View的OnDraw方法,会在View上绘制模拟时钟。AnalogClock的新属性:android:dial原创 2016-01-13 10:48:55 · 1112 阅读 · 0 评论 -
UI组件之TextView及其子类(五)计时器Chronometer
Chronometer直接继承了TextView组件,它会显示一段文本,显示从某个其实时间开始,一共过了多长时间。我们看Chronometer的源码:可以看出计时器是直接继承了TextView,当然可以用TextView的所有属性和方法。同时及时其还有自己的内部接口OnChronometerTickListener计时器的新增属性和方法:计时器的常用方法如下:set原创 2016-01-13 11:12:06 · 1491 阅读 · 0 评论 -
UI组件之ImageView及其子类(一)ImageView显示图片
ImageView家族的继承关系如图:ImageView继承自View组件,它的主要功能室显示图片,还可以显示Drawable对象。ImageView直接子类是ImageButton,QuickContactBadge,间接子类是ZoomButton,因此ImageView 的所有XML属性,方法,基本上都可以用于ImageButton,ZoomButtonImageV原创 2016-01-13 16:05:34 · 3928 阅读 · 1 评论 -
ViewFlipper的功能和用法
ViewFlipper组件继承了ViewAnimator,它可以调用addView(View v)添加多个组件向ViewFlipper中添加多个组件之后,ViewFlipper可使用动画控制多个组件之间的切换效果ViewAnimator是一个基类,它继承的是FrameLayout,因此可以将多个View组件“叠加”在一起,ViewAnimator额外增加的功能就是可以在View切换时表现出动画原创 2016-03-01 19:17:15 · 2814 阅读 · 0 评论 -
Toast的功能和用法
使用Toast显示提示信息框:不仅可以显示简单的提示信息,还可以显示自定义的View使用Toast显示提示信息非常简单:1,调用Toast的构造器或者makeText()静态方法创建一个Toast对象2,调用Toast的方法来设置消息提示的对齐方式,页边距等3,调用Toast的show()方法将它显示出来大部分时候Toast显示的是简单的消息文本;Toast.makeTex原创 2016-03-01 19:38:29 · 4264 阅读 · 0 评论 -
TabHost选项卡的 功能和用法
TabHost可以很方便地在窗口上放置多个标签页,每个标签页相当于获得了一个外部容器相同大小的组件摆放区域TabHost的主要组件是:TabWiget:代表一个选项卡标签条TabSpec:代表选项卡的一个Tab页TabHost的基本用法: 1,在界面布局中定义TabHost组件,并未改组件定义该选项卡的内容 2,继承TabActivity 3,调用TabActivity原创 2016-03-01 19:53:59 · 3233 阅读 · 0 评论 -
AlertDialog创建6种对话框的用法
AlertDialog生成的对话框可分为4个区域:图标区,标题区,内容区,按钮区结构如图:AlertDialog对话框的使用:1,创建AlertDialog.Builder对象2,调用Builder对象的setTitle()设置标题,setIcon设置图标3,调用Builder对象的相关方法设置内容,AlertDialog提供如下六中设置指定对话框的内容:set原创 2016-03-01 20:30:05 · 4921 阅读 · 0 评论 -
UI组件之ImageView及其子类(二)ImageButton ,ZoomButton
从ImageButton这个字面意思上来看,它是一个图片按钮,那么我们就可以使用它做一个我们想要的图片按钮了,但是我们在实际使用的过程当中,就会发现该按钮的使用并没有想像中的那么简单,需要再增加一些代码或再配置XML才能实现图片按钮按下的效果ImageButton 还直接派生了ZoomButton组件,只是Android默认提供了btn_minus,btn_plus两个Drawable资源,只原创 2016-01-14 10:41:05 · 2827 阅读 · 4 评论 -
Android基于监听的事件处理机制
Android提供了强大的事件处理机制,主要包括两大类:1,基于监听的事件处理机制:主要做法是为Android界面组件绑定特定的事件监听器2,基于回调的事件处理机制:主要做法是重写Android组件特定的回调方法,或重写Activity的回调方法。也就是说Android的绝大多数的界面组件都提供了事件响应的回调方法,开发者只要重写它们即可基于监听的事件处理是一种更加面向对象的事原创 2016-03-02 20:01:57 · 4135 阅读 · 0 评论 -
Android基于回调的事件处理
基于回调的事件处理模型更加简单: 如果说事件监听机制是一种委托式的事件处理,那么回调机制则恰好与之相反:对于基于回调的时间处理模型来说,事件源和事件监听器是统一的,或者说事件监听器完全消失了。当用户在GUI组件上激发某个事件时,组件自己特定的方法将会负责处理该事件因此回调监听机制只需继承该组件,并重写该组件类的事件处理方法来实现为了事件回调机制的事件处理,Android为所有GUI组原创 2016-03-02 20:17:03 · 1914 阅读 · 0 评论 -
Handler消息传递机制(一)
为什么要用Handler:出于性能优化考虑,Android的UI操作并不是线程安全的,这意味着如果有多个线程并发操作UI组件,可能导致线程安全问题。为了解决这个问题,Android制定了一条简单的原则:只允许UI线程(亦即主线程)修改Activity中的UI组件。当一个程序第一次启动时,Android会同时启动一条主线程,主线程主要负责处理与UI相关的事件,如用户的按键事件、用户接触屏幕的原创 2016-03-02 21:09:27 · 2140 阅读 · 0 评论