Android控件相关
文章平均质量分 80
巴黎脚下
热爱互联网和移动开发
展开
-
自定义设备管理器程序实现camera控制开启关闭
1.新建deviceAdminReceiver类public class deviceAdminReceiver extends DeviceAdminReceiver { void showToast(Context context, CharSequence text) { Toast.makeText(context, text, Toast.LENGTH_SHOR原创 2016-09-28 13:22:18 · 1870 阅读 · 0 评论 -
loadmorerecyclerview GitHub项目使用
项目地址:https://github.com/Brooks0129/LoadMoreRecyclerView1.使用:将项目library导入到应用中。方法,参看前面的博客。2.使用,有2中加载方式,一种是自动加载,一种是手动加载,本文以自动加载为例进行说明 <com.brooks.loadmorerecyclerview.LoadMoreRecyclerView原创 2016-07-28 10:39:52 · 1628 阅读 · 1 评论 -
Android仿58双圆环滚动效果
首先感谢http://blog.csdn.net/nugongahou110/article/details/49159189 提供的思路,在此基础上进行了修改,代码很详细直接上代码:public class CircleView extends View { private Paint mCirclePaint; private Paint mTextPaint;原创 2016-06-21 10:54:30 · 1127 阅读 · 0 评论 -
Google推荐的图片加载库Glide介绍
Google推荐的图片加载库Glide介绍 链接地址:http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0327/2650.htmlAndroid 平滑图片加载和缓存库 Glide 使用详解 http://www.codeceo.com/article/android-glide-usage.html原创 2016-07-27 16:28:13 · 280 阅读 · 0 评论 -
android-Ultra-Pull-To-Refresh 使用简介
项目地址https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh该项目只包含下拉刷新,可以包裹任何控件,如果需要添加上拉加载,可以将包裹的view改为前篇文章的LoadMoreRecyclerView实现上拉加载功能。引入方法1:直接导入lib库:ptr-lib,可到项目地址下载,然后将lib添加到项目compile proj原创 2016-07-27 16:15:57 · 6872 阅读 · 0 评论 -
为Android程序设置全局的捕获异常,提升用户体验(UncaughtExceptionHandler捕获全局异常)
主要方法:通过Thread.setDefaultUncaughtExceptionHandler()方法将异常处理类设置到线程上即可。实现类public class CrashHandler implements UncaughtExceptionHandler { public static final String TAG = "CrashHandler"; //原创 2016-07-27 12:30:24 · 2567 阅读 · 2 评论 -
内容提供者:ContentProvider
主要是用来暴漏自己应用的数据,供其他应用去使用1.自定义内容提供者,继承ContentProvider类,重写增删改查方法,在方法中写增删改查数据库的代码@Overridepublic Uri insert(Uri uri, ContentValues values) {db.insert("person", null, values);return uri;}2.原创 2016-07-05 14:42:03 · 334 阅读 · 0 评论 -
短信联系人操作
操作之前要添加相应的读写权限1。短信数据库主要是用到了sms表中的4个字段:* body:短信内容* address:短信的发件人或收件人号码(跟你聊天那哥们的号码)* date:短信时间* type:1为收到,2为发送读取系统短信,首先查询源码获得短信数据库内容提供者的主机名和路径,代码如下:ContentResolver cr = getContentResol原创 2016-07-05 16:05:40 · 557 阅读 · 0 评论 -
Android图片处理
一、加载图片到内存1.不推荐方式//相当消耗内存资源 根据图片的分辨率而定,可能会引起oom // Bitmap bitmap = BitmapFactory.decodeFile("/mnt/sdcard/photo.jpg"); // myiv.setImageBitmap(bitmap);2.推荐方式//1.得到屏幕的宽高信息 WindowManager wm =原创 2016-07-13 10:47:57 · 307 阅读 · 0 评论 -
Android-Tab单选控件
今天看到项目中有一个控件写得非常漂亮,据说是github上开源的控件,地址没找到,如下图所示,非常常见的效果,几个tab页面来回切换:转载请标明出处:http://blog.csdn.net/goldenfish1919/article/details/46799341FlatTabGroup.java:[java] view plain转载 2016-06-15 14:26:39 · 532 阅读 · 0 评论 -
基于RecyclerView的BaseAdapter、ViewHolder、OnItemClickListener联合使用
1、OnItemClickListenerpublic interface OnItemClickListener{ void onItemClick(ViewGroup parent, View view, T t, int position); boolean onItemLongClick(ViewGroup parent, View view, T t, int po原创 2016-07-27 15:29:15 · 1124 阅读 · 0 评论 -
带加载更过功能的LoadMoreRecyclerView
类实现/** * * 添加加载更多功能 * Created by chs . */public class LoadMoreRecyclerView extends RecyclerView { private boolean isScrollingToBottom = true; private FloatingActionButton floatingActio原创 2016-07-27 14:55:53 · 5170 阅读 · 1 评论 -
智能拨号匹配算法
本文出自 “NashLegend” 博客,请务必保留此出处http://nashlegend.blog.51cto.com/5635342/1566108 完整源码在我的github上 https://github.com/NashLegend/QuicKid 智能拨号是指,呃不用解释了,国内拨号软件都带的大家都知道,就是输入姓名拼音的一部分就可快速搜索出联系人的拨号方式。如转载 2016-08-30 15:08:57 · 1923 阅读 · 0 评论 -
Android网络图片加载缓存处理库的使用
本文将介绍2个框架,一个是Universal-ImageLoader另一个是Square公司开源的一个Android图形缓存库PicassoUniversal-ImageLoader特点:• 支持本地图片和网络图片的多线程异步加载和缓存处理• 个性化的配置自己项目的ImageLoader• 图片加载过程的监听回调• 自动对加载的图片针对当前剩余内存进行裁剪优化,防止OOM•原创 2016-08-02 11:21:43 · 1117 阅读 · 0 评论 -
Google推荐的图片加载库Glide介绍
在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。它的成功让我非常感兴趣。我花了一整晚的时间把玩,决定分享一些自己的经验。在开始之前我想说,Glide和Picasso有90%的相似度,准确的说,就是Picasso的克隆版本。但是转载 2016-08-02 10:49:16 · 305 阅读 · 0 评论 -
Android热修复之AndFix使用教程
AndFix的github地址AndFix全称Android hot-fix,是alibaba的Android热修复框架,支持Android 2.3到6.0的版本,支持arm与X86系统架构,支持Dalvik和ART Runtime。原理AndFix的原理就是方法的替换,把有bug的方法替换成补丁文件中的方法。 原理-替换方法.png使用教程1. 添加依赖d转载 2016-08-04 15:24:21 · 1185 阅读 · 0 评论 -
使用MediaRecorder进行视频录制
1.仅适用MediaRecorder进行录制,此种方式网上很多,就是不加camera实现。2.使用MediaRecorder+camera进行录制,此种方式可能会出现问题,下面的代码经过在4.4以及5.1系统测试均没问题。private Camera mCamera; private SurfaceView mSurfaceView; private SurfaceHolder mSu原创 2016-07-20 13:40:00 · 828 阅读 · 2 评论 -
Android MotionEvent中getX()和getRawX()的含义
原创 2016-06-23 16:28:56 · 569 阅读 · 0 评论 -
dagger2简单使用
1.首先应该创建一个全局的AppComponent,以提供全局使用的工具类进行使用,例如先创建一个ToastUtil类public class ToastUtil { private Context mContext; public ToastUtil(Context context){ this.mContext = context; }原创 2016-07-29 15:21:23 · 462 阅读 · 0 评论 -
SQLite数据库操作
创建数据库需要使用的api:SQLiteOpenHelper* 必须定义一个构造方法://arg1:数据库的名字("people.db")//arg2:游标工厂(通常直接传人null,则系统会使用默认的工厂)//arg3:数据库版本号(从1开始),方便升级使用,不断设置更大的值会调用,onUpgrade方法public MyOpenHelper(Context context,原创 2016-07-08 15:30:40 · 253 阅读 · 0 评论 -
Dagger2从入门到放弃
1.让你爱不释手:http://android.jobbole.com/82694/2.入门就不放弃http://blog.csdn.net/u012943767/article/details/51897247原创 2016-07-29 11:52:12 · 428 阅读 · 0 评论 -
HelloCharts 之饼状图使用
注释很详细,直接上代码,上图 private PieChartView chart; private PieChartData data; private boolean hasLabels = true; private boolean hasLabelsOutside = true; private boolean hasCenterCircle = true;原创 2016-06-15 12:31:38 · 4799 阅读 · 0 评论 -
自定义ProgressBar(更改系统主题方式实现)
1.先搜索到系统的ProgressBar的样式,其中的drawable是转动的那个圆环,所以,我们要更改progress_medium_white这个文件 true @drawable/progress_medium_white repeat 3500 48dip 48dip原创 2016-07-12 10:42:59 · 1201 阅读 · 0 评论 -
安卓获取当前最顶部Task应用名称
//获取到进程管理器 activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);//获取到当前正在运行的任务栈 List tasks = activityManager.getRunningTasks(1);//参数是想获得的个数,可以随意写 //获取到最上面的进程 Run原创 2016-07-11 13:14:37 · 3335 阅读 · 0 评论 -
SlidingMenu 常用属性
简单记下属性。SlidingMenu 常用属性介绍:menu.setMode(SlidingMenu.LEFT);//设置左滑菜单menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//设置滑动的屏幕范围,该设置为全屏区域都可以滑动menu.setShadowDrawable(R.drawable.shadow);/转载 2016-05-07 14:46:33 · 256 阅读 · 0 评论 -
PullToZoomView的使用
这个开源框架的使用主要用到的是PullToZoomListViewEx和PullToZoomScrollViewEx的2个类库,PullToZoomListViewEx这个是ListView的下拉效果,暂时没用到,需要的话可能要自己去研究下了。 PullToZoomScrollViewEx这个是ScrollView,用的比较多,我们经常有用户信息界面、内容区域,都是信息量比较大的,会涉及到下拉之类原创 2016-05-27 16:27:53 · 1303 阅读 · 0 评论 -
Android开源项目分类汇总
转自:https://github.com/Trinea/Android-open-projectAndroid开源项目分类汇总如果你也对开源实现库的实现原理感兴趣,欢迎 Star 和 Fork Android优秀开源项目实现原理解析欢迎加入 QQ 交流群:14884(入群理由必须填写群简介问题答案)4489 377723625(一群已满) 383537512(二群已满转载 2016-05-27 15:26:21 · 1006 阅读 · 0 评论 -
WebView使用
WebSettings settings = mWebView.getSettings(); settings.setJavaScriptEnabled(true);// 表示支持js settings.setBuiltInZoomControls(true);// 显示放大缩小按钮 settings.setUseWideViewPort(true);// 支持双击缩放 mWeb原创 2016-05-12 15:40:47 · 240 阅读 · 0 评论 -
Intent打开各种资源
import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.net.Uri.Builder;import java.io.File;import android.content.Intent; //自定义android Intent类,//可用于获取打原创 2016-05-12 09:51:37 · 356 阅读 · 0 评论 -
自定义Toast
实现很简单,直接上代码public class MyToast { //传过来的参数,MyToast.showMyToast(this, R.drawable.notification, "杀死了"+count+"个进程"); public static void showMyToast(Context context, int icon , String text){ Toa原创 2016-05-12 09:30:39 · 218 阅读 · 0 评论 -
后台任务序列化与IntentService
应用场景:当用户注册成功后,填写用户信息界面,断网了,此时点击了修改信息,出于友好考虑,应该将提交的数据,序列化保存到本地,然后允许用户继续访问app。等到下次联网时,将修改的数据自动提交到服务器1.将请求加入到后台任务请求——封装为javabean——序列化文件①封装为网络请求public class NetTask implements Serializable { /**原创 2016-05-11 15:14:44 · 396 阅读 · 0 评论 -
Tabhost使用
实现方式有两种:一、 1、继承TabActivity; 2、用getTabHost()方法获取TabHost; 3、各Tab内容在布局文件中定义。 tabHost = this.getTabHost(); TabSpec homeSpec=tabHost.newTabSpec(HOME_TAB).setIndicat原创 2016-05-24 10:37:58 · 275 阅读 · 0 评论 -
BaseAdapter 抽取
1 抽取Adapter 共性的方法2 把getView方法里 和holder相关的逻辑 摘取到Holder代码中3 把Holder 相关的代码 抽取到BaseHolder中 4 把adapter 中getVIew 方法 抽取到了DefaultAdpater中, 其中每个子类getView方法中holder不太一样,所以定义了抽象方法getHolder 要求子类去实现holder原创 2016-05-09 17:41:21 · 382 阅读 · 0 评论 -
屏幕适配
> 主流屏幕: 1280*720, 遵循原则: 不用AbsoluteLayout(绝对布局), 多用相对布局&线性布局(权重), 要用dp,不用px> > 开发后期, 在不同分辨率屏幕上测试(480*800,1920*1080), 如果没出现太大问题(影响正常使用), 就可以上线> > 如果后期测出问题怎么办?- 图片适配不是很常用- 布局适配原创 2016-05-07 14:54:14 · 410 阅读 · 0 评论 -
调用camera拍照指定路径后删除图库中存在的照片
String imagePath;Button btnButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mai原创 2016-04-28 09:22:29 · 925 阅读 · 0 评论 -
Listview、RecyclerView中的item中包含可以点击的控件,点击冲突解决办法
在item的根布局中添加:android:descendantFocusability="blocksDescendants"可点击的子item添加android:focusable="false"原创 2016-06-07 17:33:16 · 6086 阅读 · 4 评论 -
RatingBar
1.自定义process_ratingbar.xml 2.使用<RatingBar android:id="@+id/item_rating" android:layout_width="wrap_content" android:la原创 2016-05-09 15:47:08 · 227 阅读 · 0 评论 -
BaseActivit、BaseFragment、basepager
public class BaseActivity extends ActionBarActivity { // 管理运行的所有的activity public final static List mActivities = new LinkedList(); @Override protected void onCreate(Bundle savedInstanceState)原创 2016-05-09 11:05:18 · 768 阅读 · 0 评论 -
android.support.v4.view.PagerTabStrip 实现切换viewpager
1.修改viewpager<android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerH原创 2016-05-09 10:43:53 · 1691 阅读 · 0 评论 -
ActionBar 使用
1. 引用v7-appcompat 库2. Activity继承ActionBarActivity3. android:theme="@style/Theme.AppCompat.Light" >4.res/menu中的布局改为<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:yo原创 2016-05-09 09:18:10 · 587 阅读 · 0 评论