android设备的单位px,pt,dp,sp 分辨率 先通俗说下分辨率的概念.可以把屏幕想想成一个个正方形格子组成的.如果横向有1280个格子,竖向有720个格子.那么分辨率就是1280*720.这只是一种通俗的理解,理解到这里做一般开发就够用了.分辨率的严格定义请参考专业文献. 有2种方法可以查设备的分辨率.一种是在命令行执行 adb shell dumpsys window 在最后部分有类似如下的输出 WINDOW MANAGER DISPLAY CONTENTS (dumpsys win…
总结了下,我遇到的获取Android屏幕长宽的方式总共有三种.大同小异,重点在于如何获取系统中的WindowManager管理类对象,方可对数据的操作: 代码如下 /** * @return 屏幕的长宽数组 * @author WHF */ public int[] getScreen(){ DisplayMetrics dm; Application mApplication = new Application(); dm = mApplication.getResources().getDi…
package com.kale.imageview02; import android.annotation.SuppressLint; import android.app.Activity; import android.graphics.Point; import android.os.Bundle; import android.util.Log; import android.view.Display; public class MainActivity extends Activi…
常见的长按事件 代码示例: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //第二步:把长按事件注册到菜单,并打开菜单 ImageView imageView = findViewById(R.id.imageView); imageView.setOnLongCli…
Android支持下列所有单位: px(像素):屏幕上的一个点.不同设备显示效果相同,一般我们HVGA代表320×480像素,这个用的比较多.in(英寸):长度单位.mm(毫米):长度单位.pt(磅):1/72英寸.是一个标准的长度单位,用于印刷业,非常简单易用: dp(dip)(与密度无关的像素):一种基于屏幕密度的抽象单位.与像素没有关系.在每英寸160点的显示器上,1dp = 1px. sp(与刻度无关的像素):主要用于字体显示.根据 google 的建议,TextView 的字号最好使用…
MainActivity如下: package cc.testunitswitch; import android.os.Bundle; import android.util.DisplayMetrics; import android.app.Activity; /** * Demo描述: * 利用代码实现dp,px,sp之间的相互转换 * * 参考资料: * 1 http://blog.csdn.net/fx_sky/article/details/8588703 * 2 http://b…
一.px 像素,我们经常说的400*800这种的就是像素,这个比较好理解. 二.dp 要理解dp,首先要先引入dpi这个概念,dpi全称是dots per inch,对角线每英寸的像素点的个数,所以,它的计算公式如下: 比如height和width即为长宽的像素,平方和即为对角线的像素个数,size即我们常说的5寸手机.4寸手机中的5和4,即对角线的长度. 显然,一样是5寸的手机,分辨率越高,dpi越高. dp也叫dip,是device independent pixels.设备不依赖像素的一个…
如果移动端访问不佳,请访问–>Github版 背景 最近要实现一个功能,用到了一些属性动画,需要获取一些View的坐标信息,设计图如下: 这里我使用的是DialogFragment来实现的,可以复用. 先贴一下获取View坐标的一些资料: Android View各种尺寸位置相关的方法探究 Android获得控件在屏幕中的绝对坐标 合适的时机 要想获得View的坐标和长宽,必须要等到View绘制完毕,在平常写代码的生命周期函数内一般是获取不到的: //Activity onCreate(); o…
package com.kale.screen; import android.annotation.SuppressLint; import android.app.Activity; import android.graphics.Point; import android.os.Bundle; import android.util.Log; import android.view.Display; public class MainActivity extends Activity {…
要在代码里改变ImageView 的长宽,如图 通过拿到contentImage这对象的控件参数,再去改变,再设置 , 上图的contentImage为ImageView对象: 而这里 要提醒的是,LayoutParams 这个类,需要导入正确的包,设置才会起作用 这里就需要看清你的 imageView是属于哪个布局控件下(LieanerLayouy 还是R---layout);…
长宽格式的转换 宽格式是指:一列或多列作为标识变量(id_vars),其他变量作为度量变量(value_vars),直观上看,这种格式的数据比较宽,举个列子,列名是:id1.id2.var1.var2.var3,一行可以表示多个度量变量的值. 而长格式是指在一行中,除了标识变量(id_vars),其他列是variable和name,从宽格式转换为长格式,会使得数据行数增加,直观上看,这种格式的数据比较长,举个例子,列名是:id1.id2.variable.value,一行只表示一个度量变量的值.…
http://blog.csdn.net/yf210yf/article/details/7295577 转载请注明原文出处:奔跑的蜗牛(袁方的技术博客)点击打开链接 一.当利用textview显示内容时,显示内容过多可能会折行或显示不全,那样效果很不好.今天发现android api中已经给出自动省略的功能. 实现如下: <TextView android:layout_width="fill_parent" android:layout_height="wrap_c…
1.android中的计量单位 px (pixels)(像素):是屏幕的物理像素点,与密度相关,密度大了,单位面积上的px会比较多.通常不推荐使用这个 pt(磅):1/72英寸,也较少用 in(英寸):标准长度单位 mm(毫米):标准长度单位 布局中尽量用dip(dp):独立像素 做单位 字体中尽量用sp:放大像素 与刻度无关做单位 使用 dip: device independent pixels(设备独立像素).显示效果因不同硬件设备而不同,为了支持WVGA.HVGA和QVGA 推荐使用di…
常用控件 9.Dialog 我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框 对话框,要创建对话框之前首先要创建Builder类创建者,Builder是AlertDialog的子类,而且还是它的内部类. setPositiveButton --设置最左边的按钮setNeutralButton --设置中间的按钮setNegativeButton --设置最右边的按钮 builder = new Builder(Ma…
1 概述 从这篇博文开始,正式进入简易版微信的开发.深入学习前,想谈谈个人对Android程序开发一些理解,不一定正确,只是自己的一点想法.Android程序开发不像我们在大学时候写C控制台程序那样,需要从main开始写代码逻辑,大部分逻辑控制代码都由自己来实现.事实上,Android已经为我们提供了一个程序运行的框架,我们只需要往框架中填入我们所需的内容即可,这里的内容主要是:四大组件——Activity.Service.ContentProvider.BroadCast.在这四大组件中,可以…
由于之前在实习生面试的时候,被面试官问到有关自定义控件的问题,但没有回答上来,于是回来后便学习了关于自定义控件的相关知识. 自定义控件介绍 自定义控件,按我的理解,大体上分为两种.一种是自己绘图或者加入动画,产生的单一的自定义控件.一种是利用已有的控件进行组合,产生的组合控件.这篇博文主要介绍第一种. 在进行单一的自定义控件编写时,主要需要重写三个方法:onMeasure(),onLayout()和onDraw(),在介绍这三个方法之前,先来展示一下我自己设计的一个简单的自定义控件,然后根据图片…
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增加了很多的新组件,一直没有系统的学习过.现在开始这个“完善Android学习”系列,将2.2以后的新知识做一个概览.概览来自:http://developer.android.com/about/versions/android-2.3.3.html 一.Graphics A)BitmapRegionDeco…
如何实现手机上手动滑动翻页效果呢?呵呵,在这里我们就给你们介绍一下吧. 一般实现这个特效会用到一个控件:ViewFlipper <1>View切换的控件—ViewFlipper 这个控件是什么呢?请注意观看博文Android学习笔记之ViewFilpper . 除了这个ViewFlipper,我们还需要了解一下ViewAnimator.它主要是为其中的View切换提供动画效果. 还会用到几个方法: setInAnimation:设置View进入屏幕时候使用的动画.该方法有两个重载方法,即可以直…
1. NDK(Native Development Kit) 1.1 NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP功能开发的工具,通过这个工具,我们可以把用C/C++代码编译成可以直接运行在Android平台上的本地代码,这些本地代码以动态链接库( *.so )的形式存在,也正因为这样,我们可以通过复用这些动态链接库从而复用本地代码. 那么,通过NDK这个开发工具包,那么我们是否可以将一个APK完全使用C/C++来编写呢? 答案是不可…
视频地址: http://study.163.com/course/courseMain.htm?courseId=207001 课时5    Activity基础概念 1.Android开发技术结构图 2.Android四大组件 Activity(页面).Service(后台运行的服务).Content Provider(数据提供者,向外暴露数据的方法,数据共享).Broadcast Receiver(监听手机发生的一切事情) 课时6    文本框与按钮的使用方法(Activity初步一) 1…
收集整理这份资料灵感来自于 trip_to_iOS, 征得同意引用了该资料的开头描述 收集整理这份资料主要帮助初学者学习 Android 开发, 希望能快速帮助到他们快速入门, 找到适合自己学习资料, 节省再去收集学习资料时间. 这份资料我会不断的更新完善, 同时也欢迎更多具有丰富经验的Android开发者将自己常用的工具.学习资料.学习心得等分享上来, 我将定期筛选合并, 该份学习资料有不足的地方, 也请指出, 我会谦虚接受改正, 希望我能与大家一起来学习, 谢谢. 感谢 @GitHubDai…
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 十.Android学习第九天——小结 通过这段时间的学习,今晚上来做个小小的总结~~~ 最早之前我们就了解到,Android四个重要的部分: 一.Activity —— 门面,就是我们看到的用户界面 二.Intent —— 在整个应用程序间传送数据 三.Service —— 不可见,为整个应用程序提供一个服务支持 四.Content Provider —— 为应用程序提供…
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的Android的几个常用控件的使用方法: 一.RadioGroup和RadioButton——单选按钮 二.Checkbox——复选框 三.Toast——提示框,会自动消失 四.ProgressBar——进度条工具 五.ListView——以列表形式将控件显示出来 下面就对这些内容做个详细的解释: 首…
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 三.Android学习第三天——Activity的布局初步介绍 今天总结下Activity相关布局的一些知识: Activity最简单跟常用的布局分为两种: ①LinearLayout -- 线性布局 ②TableLayout -- 表格布局 ③RelativeLayout -- 相对布局(今后将会频繁的使用到这个布局) 下面来简单总结下前两种(线性/表格)布局当中常用到…
接着<Android学习系列(36)--App调试内存泄露之Context篇(上)>继续分析. 5. AsyncTask对象 我N年前去盛大面过一次试,当时面试官极力推荐我使用AsyncTask等系统自带类去做事情,当然无可厚非. 但是AsyncTask确实需要额外注意一下.它的泄露原理和前面Handler,Thread泄露的原理差不多,它的生命周期和Activity不一定一致. 解决方案是:在activity退出的时候,终止AsyncTask中的后台任务. 但是,问题是如何终止? Async…
PS:休息两天,放一放手上的东西,做做总结... 学习内容: 1.Android中LinearLayout布局技巧... 2.layout中drawable属性的区别...   先简单的介绍一下drawable属性的区别,这个算是比较简单的,但是还是有一点点的小细节需要进行说明,drawable有五个文件夹,分别为hdpi,ldpi,mdpi,xdpi,xxdpi,这五个文件夹想必大家都知道,其实就是为了适应不同分辨率,由于手机分辨率的不同,因此我们的图片需要适应不同手机的分辨率...hdpi:…
[android学习之十七]——特色功能2:桌面组件(快捷方式,实时文件夹) 二.桌面组件 1.快捷方式 Android手机上得快捷方式的意思可以以我们实际PC机器上程序的快捷方式来理解.而android中要建立某一个程序快捷方式,只需要长按桌面或者点击Menu按钮——>添加,选择“Shortcuts”或者“快捷方式”,如下图,即可添加自己程序的快捷方式.[注意],而通过程序中,如何来控制自己开发的程序,让其支持快捷方式呢,就要在里增加对于的如:... 2011-11-29 14:25 阅读(3…
一.MeasureSpc类说明 SDK的介绍:MeasureSpc类封装了父View传递给子View的布局(layout)要求.每个MeasureSpc实例代表宽度或者高度 它有三种模式:①.UNSPECIFIED(未指定),父元素部队自元素施加任何束缚,子元素可以得到任意想要的大小:②.EXACTLY(完全),父元素决定自元素的确切大小,子元素将被限定在给定的边界里而忽略它本身大小:③.AT_MOST(至多),子元素至多达到指定大小的值. 常用的三个函数:static int getMode(…
第一次写博客,可能格式,排版什么的会非常不美观,不过我主要是为了记录自己的Android学习之路,为了以后能有些东西回顾.既然是为了学习,那我肯定会吸收各位大大们的知道经验,有不足的地方请指出. 通过本次小Demo我学到了: ListView的小小的一个分页功能 加深了对自定义控件的理解 对ListView的优化 对BaseAdapter的使用 自定义Adapter 接口的回调 本次我是通过慕课网(视频链接:http://www.imooc.com/learn/136)学习,要实现下面的效果--…
常用控件 控件是对数据和方法的封装.控件可以有自己的属性和方法.属性是控件数据的简单访问者.方法则是控件的一些简单而可见的功能.所有控件都是继承View类 介绍android原生提供几种常用的控件button/imagebutton.checkbox/radiobutton.progressbar/seekbar.tabSpec/tabHost.ListView.Dialog,主要为了掌握控件使用的一般规律. 1.button 按钮 Button是各种UI中最常用的控件之一,用户可以通过触摸它来…