Android
qinjinghua2012
这个作者很懒,什么都没留下…
展开
-
canvas.drawArc实现
上文已经绘制了圆环,但仔细分析就知,如果只需要圆环的话,那么只绘制圆环就可以,不用画内圆和外圆了。事实证明也是如此。 但是要做成和下面的圆环透明度不一的效果上面的方法还是达不中:用drawCircle不中了,经查android提供了绘制圆弧的函数drawArc,参考http://zhidao.baidu.com/question/469977150.h转载 2015-08-22 20:31:17 · 1187 阅读 · 0 评论 -
AdapterViewFlipper组件学习笔记
AdapterViewFilpper继承了AdapterViewAnimator,也会显示Adapter提供的多个View组件,但是它每次只能显示一个View组件。功能:类似幻灯片的效果。示例布局xml代码:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout原创 2015-08-02 13:44:40 · 587 阅读 · 0 评论 -
ExpandableListView组件学习笔记
ExpandableListView的用法与普通ListView的用法非常相似,只是ExpandableListView所显示的列表项应该由ExpandableListAdapter提供,ExpandableListAdapter是一个接口。与Adapter类似的是,实现ExpandableListAdapter也有如下三种常用方法: (1)扩展BaseExpandableListA原创 2015-08-01 15:20:02 · 514 阅读 · 0 评论 -
画廊视图Gallery组件学习笔记
Gallery与Spinner组件有共同的父类:AbsSpinner,表明Gallery和Spinner都是一个列表框。区别:Spinner显示的是一个垂直的列表框,而Gallery显示的是一个水平的列表框。示例java代码:public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceSt原创 2015-08-01 23:25:49 · 520 阅读 · 0 评论 -
Spinner组件学习笔记
Spinner是一个列表选项,相当于弹出一个菜单供用户选择。 Spinner与Gallery都继承了AbsSpinner,AbsSpinner继承了AdapterView,因此它也表现出AdapterView的特征:只要为AdapterView提供Adapter即可。 如果开发者使用Spinner时已经可以确定下来列表框里的列表项,则完全不需要写代码,只要为Spinner指定and原创 2015-08-01 20:48:03 · 668 阅读 · 0 评论 -
扩展BaseAdapter实现不存储列表项的ListView
扩展BaseAdapter可以取得对Adapter最大的控制权:程序要穿件多少个列表项,每个列表项的组件都由开发者来决定。扩展一个BaseAdapter需要重写如下四个方法: 示例java代码:public class MainActivity extends Activity{ ListView myList; @Override publi原创 2015-07-30 23:19:55 · 498 阅读 · 0 评论 -
Adapter内的onItemClick监听器四个arg参数
onItemClick(AdapterView parent, View view, int position, long id)举个例子你会理解的更快:X, Y两个listview,X里有1,2,3,4这4个item,Y里有a,b,c,d这4个item。 如果你点了b这个item。如下:public void onItemClick (AdapterView parent,转载 2015-07-30 21:57:44 · 408 阅读 · 0 评论 -
android按两次返回键退出
我们可以在很多应用中都能看到按两次返回键退出 , 其实这个功能实现很容易, 下面就是实现的代码 , 把它放到你的程序中你的程序就能按两次返回键退出啦 , 这个功能是为了避免误点而把程序退出了 ,给你的程序也加上这个简单实用的功能把 :package com.anjoyo.test;import android.app.Activity;import android.os.Bundle;转载 2015-07-30 17:36:21 · 449 阅读 · 0 评论 -
ListView学习笔记
创建ListView有如下两种方式: ListView常用的XML属性如下:main.xml代码:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"原创 2015-07-30 11:25:24 · 489 阅读 · 0 评论 -
The connection to adb is down, and a severe error has occured.
启动android模拟器时.有时会报The connection to adb is down, and a severe error has occured.的错误.在网友说在任务管理器上把所有adb.exe关闭掉.重启eclipse.但试过不管用.所以在外国网站上找到一种可行的方法:1.先把eclipse关闭.2.在管理器转到你的android SDK 的platform-tools下转载 2015-07-30 22:18:29 · 392 阅读 · 0 评论 -
android中Baseadapter的getItem和getItemId的作用和重写
重写Baseadapter时,我们知道需要重写以下四个方法:getCount,getItem(int position),getItemId(int position),getView方法,getCount决定了listview一共有多少个item,而getView返回了每个item项所显示的view。可是getItem(int position),getItemId(int position转载 2015-08-03 13:53:09 · 2653 阅读 · 0 评论 -
LayoutInflater作用及使用
作用: 1、对于一个没有被载入或者想要动态载入的界面, 都需要使用inflate来载入.。2、对于一个已经载入的Activity, 就可以使用实现了这个Activiyt的的findViewById方法来获得其中的界面元素。 方法: Android里面想要创建一个画面的时候,初学一般都是新建一个类,继承Activity基类,然后在onCreate里面使用set转载 2015-08-14 16:15:49 · 489 阅读 · 0 评论 -
android:layout_centerHorizontal="true"和 android:gravity="center_horizontal"什么区别?
<RelativeLayout android:layout_width="200dip" android:layout_height="200dip" > <Button android:layout_width="100dp" android:layout_h转载 2015-08-02 12:09:25 · 6156 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别?
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常转载 2015-08-20 22:53:23 · 360 阅读 · 0 评论 -
tools:context与xmlns:tools学习笔记
【tools:context】<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertic转载 2015-08-07 09:02:33 · 550 阅读 · 0 评论 -
android:showAsAction="always|withText"分析
在actionBar只显示了icon但是没有显示title,这是怎么回事呢?于是又在官网深挖了....看到了这一段... https://developer.android.com/guide/topics/ui/actionbar.html#AddingIf your menu item supplies both a title and an icon—with the title and转载 2015-08-06 17:32:54 · 2951 阅读 · 2 评论 -
设置与菜单项关联的Activity学习笔记
需求:单击某个菜单项启动其他Activity。只需调用MenuItem的setIntent(Intent intent)方法即可。示例部分代码:SubMenu prog = menu.addSubMenu("启动程序");prog.setHeaderIcon(R.drawable.tools);prog.setHeaderTitle("选择您要启动的程序");MenuItem原创 2015-08-06 11:08:03 · 651 阅读 · 0 评论 -
android adb 命令发送 keyevent
使用Adb shell command直接送key event給Androidadb shell input keyevent 7 # for key '0'adb shell input keyevent 8 # for key '1'adb shell input keyevent 29 # for key 'A'adb shell input keyeven转载 2015-08-18 14:32:16 · 523 阅读 · 0 评论 -
layout_weight参数的使用
在Android程序当中,最为常见的布局方式就是使用LinearLayout和RelativeLayout。当内部元素按照纵向或者横向的某个固定方向进行排列的时候,使用LinearLayout是比较方便的。当使用LinearLayout进行嵌套,也可以实现较为复杂的布局效果。在LinearLayout当中,有个layout_weight的属性,相对使用比较复杂,这里简单做个介绍。1、在Li转载 2015-08-04 09:31:06 · 455 阅读 · 0 评论 -
利用adb安装和卸载android APK
ADB工具,全称Android Debug Bridge,通过cmd命令行,进入Android SDK/platform-tools子目录下。电脑往手机复制文件:adb push d:/adc.txt /sdcard/手机往电脑复制文件:adb pull /sdcard/xyz.txt d:/adb shell:实现linux指令操作。命令:adb shell。原创 2015-07-31 09:36:48 · 3118 阅读 · 0 评论 -
The method build() is undefined for the type Notification.Builder
安卓的模拟系统为Android 4.0.3(API 15)。在调试Notification出现如下错误提示: The method build() is undefined for the type Notification.Builder 出现错误的部分源码如下:Intent intent = new Intent(MainActivity.this, O原创 2015-08-04 14:36:55 · 2065 阅读 · 0 评论 -
android:persistentDrawingCache含义
网上很多人在寻找这个答案,下面将API中的解释进行翻译: Defines the persistence of the drawing cache. The drawing cache might be enabled by a ViewGroup for all its children in specific situations (for instance during a scr转载 2015-08-03 17:21:08 · 393 阅读 · 0 评论 -
ArrayAdapter创建ListView学习笔记
activity_main.xml总的布局文件、array_item.xml为list1的布局、checked_item.xml为list2的布局。java代码: super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView list1 = (ListView) findV原创 2015-07-30 14:36:27 · 405 阅读 · 0 评论 -
AutoCompleteTextView与MultiAutoCompleteTextView学习笔记
自动完成文本框(AutoCompleteTextView)从EditText派生而出,功能:当用户输入一定字符以后,自动完成文本框会显示一个下拉菜单,供用户选择。 使用AutoCompleteTextView,要为它设置一个Adapter,该Adapter封装了AutoCompleteTextView预设的提示文本。 AutoCompleteTextView还派生了一个原创 2015-07-31 10:29:02 · 689 阅读 · 0 评论 -
ListActivity实现列表学习笔记
如果程序的窗口仅仅需要显示一个列表,则可以直接让Activity继承ListActivity来实现,ListActivity的子类无须调用setContentView()方法来显示某个界面,而是可以直接传入一个内容Adapter,ListActivity的子类就呈现出一个列表。xml代码:<LinearLayout xmlns:android="http://schemas.androi原创 2015-07-30 15:07:00 · 524 阅读 · 0 评论 -
文本框TextView的学习笔记
TextView作用:在界面中显示文本。直接继承View,它还是EditText、Button两个UI组件类的父类,并且还派生了CheckedTextView。 示例:不同颜色、字体、带连接的文本<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientati原创 2015-07-28 22:45:38 · 502 阅读 · 1 评论 -
Android表格布局TableLayout学习笔记
TableLayout继承了LinearLayout,因此它的本质依然是线性布局管理器。TableLayout并不需要明确的声明包含多少行、多少列,而是通过添加TableRow、其他组件来控制表格的行数和列数。 表格中每个单元格的属性可设置为: Shrinkable(该列可收缩)\Stretchable(该列可拉伸)\Collapsed(该列影藏). 例如:a原创 2015-07-27 23:17:35 · 641 阅读 · 0 评论 -
layout_height和height的区别-附match-parent和fill_parent的区别
读了一下document原来layout_height必须是在layout里面的view才可以使用,从API 8版本开始提供了3个选项fill_parent,match_parent,wrap_content,而且可以用固定值给赋值。而height是只可以直接赋值的。他不需要view在layout里面。另外document上说明match_parent是用来替代fill_parent的,所转载 2015-07-28 09:31:59 · 2765 阅读 · 0 评论 -
Android开发中Handler的经典总结
一、Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI。 解释:当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程),主线程为管理界面中的UI控件,进行事件分发,比如说,你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。如果此时需要一个耗时的操作,例如: 联网读取数据或者读取本地较转载 2015-07-28 11:36:24 · 444 阅读 · 0 评论 -
网路布局GridLayout学习笔记
android4.0新增,更早的平台要要使用,需导入相应的支撑块。可把容器分为N行*N列的网络。计算机界面编程:java文件package com.example.qin;import android.app.Activity;import android.view.View;import android.view.View.OnClickListener;import an原创 2015-07-28 16:39:56 · 587 阅读 · 0 评论 -
帧布局FrameLayout学习笔记
帧布局由FrameLayout所代表,FrameLayout直接继承了ViewGroup组件。帧布局容器为每个加入其中的组件创建一个空白的区域,称为一帧,这些帧都会根据gravity属性执行自动对齐。事例代码:<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:l原创 2015-07-28 09:57:25 · 535 阅读 · 0 评论 -
View的setOnClickListener的添加方法
1)第一种,也是最长见的添加方法(一下都以Button为例) Button btn = (Button) findViewById(R.id.myButton); btn .setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //do something转载 2015-07-27 16:10:26 · 421 阅读 · 0 评论 -
onCreate中的savedInstanceState有何具体作用
在activity的生命周期中,只要离开了可见阶段,或者说失去了焦点,activity就很可能被进程终止了!被KILL掉了,这时候,就需要有种机制,能保存当时的状态,这就是savedInstanceState的作用。 当一个Activity在PAUSE时,被kill之前,它可以调用onSaveInstanceState()来保存当前activity的状态信息(在paused状态时,要转载 2015-07-27 14:53:19 · 434 阅读 · 0 评论 -
Java中@Override的作用
@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 1、可以当注释用,方便阅读;2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。 举例:在重写父类的onCreate时,在方转载 2015-07-27 16:49:15 · 394 阅读 · 0 评论 -
Handler 的sendEmptyMessage(int what)和sendMessage(Message msg)有啥区别?
做一个手机助手查看器,碰到里面的Handler用sendEmptyMessage(int what)发消息,其实也可以用sendMessage(Message msg)的,但两者到底有啥区别?GOOGLE一下,没有看到什么好的答案,倒是看到一个大三的家伙有模有样的分析起来了安卓类的源代码,SHIT,此刻的我真是汗颜,不过老子说得好嘛---故师者,无长无优,闻道有先后而已。哦,记错了,是韩愈说的。收转载 2015-07-28 11:52:09 · 579 阅读 · 0 评论 -
绝对布局AbsoluteLayout学习笔记
绝对布局由AbsoluteLayout代表,android不提供任何布局控制,由开发人员自己通过x、y坐标来控制 组件的位置。当使用AbsoluteLayout作为布局容器时,布局容器不再管理子组件的位置、大小! layout_x:指定该子组件的X坐标 layout_y: 指定该子组件的Y坐标 登录界面示例代码:<AbsoluteLayou原创 2015-07-28 17:15:53 · 608 阅读 · 0 评论 -
Avoid using "px" as units; use "dp" instead
android开发当中,在为应用程序布局时,用到了:android:textSize="24px"这时发现编译器警告:Avoid using "px" as units; use "dp" insteadgoogle让我们避免使用px单位了,这是因为px单位大小始终是固定的,而dp单位的大小却可以随着屏幕的大小而改变,所以使用dp可以使应用程序适应任何尺寸的屏幕而不改变UI转载 2015-07-28 09:18:53 · 574 阅读 · 0 评论 -
Android之Inflate()方法用途
Inflate()作用就是将xml定义的一个布局找出来,但仅仅是找出来而且隐藏的,没有找到的同时并显示功能。最近做的一个项目就是这一点让我迷茫了好几天。android上还有一个与Inflate()类似功能的方法叫findViewById(),二者有时均可使用,但也有区别区别在于:如果你的Activity里用到别的layout,比如对话框layout,你还要设置这个lay转载 2015-08-11 17:20:23 · 400 阅读 · 0 评论 -
Android的string-array数据源简单使用
在Android中,用string-array是一种简单的提取XML资源文件数据的方法。 例子如下: 把相应的数据放到values文件夹的arrays.xml文件里 丰台区 石景山区 海淀区 漳州市 朝阳区转载 2015-07-30 11:03:25 · 492 阅读 · 0 评论 -
QuickContackBadge学习笔记
QuickContackBadge继承了ImageView,因此它的本质也是图片,也可以通过android:src属性指定它显示的图片。 QuickContackBadge额外功能是:该图片可以关联到手机中指定联系人,当用户单击该图片时,系统会打开相应联系人的联系方式界面。xml布局:<LinearLayout xmlns:android="http://schema原创 2015-07-29 22:41:17 · 506 阅读 · 0 评论