
Android开发
Simon铭少
Your fingers have the power to change the world.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android开发控件-VarietyImageView(百变ImageView,可以根据要求指定哪个角是圆角,哪个角是直角)
ImageView相信是Android开发人员再熟悉不过的一个控件了,在一般情况下基本的ImageView也都能满足我们的开发需求,但相信大家也都遇到过ImageView无法满足实际需求的情况,这次我就遇到了,先来看下需求:1)可以设置成圆形ImageView2)可以设置成圆角矩形ImageView3)可以根据要求指定哪个角是圆角,哪个角是直角!!!前两个需求相信大多数同学都...原创 2017-07-21 18:18:19 · 910 阅读 · 0 评论 -
ViewPager的setOnPageChangeListener接口三个方法详解
1.onPageSelected(int position):这个方法有一个参数position,代表哪个页面被选中。当用手指滑动翻页的时候,如果翻动成功了(滑动的距离够长),手指抬起来就会立即执行这个方法,position就是当前滑动到的页面。如果直接setCurrentItem翻页,那position就和setCurrentItem的参数一致,这种情况在onPageScrolled执行方法前就...原创 2018-08-19 16:02:42 · 919 阅读 · 0 评论 -
Fragment中加载ListView问题
Fragment作为Activity的片段,在安卓开发中被使用的频率非常高,同时ListView作为最常用的控件,因此在Fragment中加载ListView也是非常常用的,下面介绍一下具体的Fragment中加载ListView的步骤:1)定义一个继承自ListFragment的Fragment(TestFragment); 2)在xml中,要加载的ListView的id必须设置为 ...原创 2016-07-31 21:06:03 · 1058 阅读 · 0 评论 -
解决GridLayout API level小于21时平均分配行列的问题
API level 小于21时,如果需要实现各行或个列实现平均行和列,需要导入兼容包,具体步骤如下:1)找到对应module下的build.gradle文件,在denpendencies模块中加入 compile 'com.Android.support:gridlayout-v7:23.0.0' 以导入兼容包 2)在xml文件中,头部加入 xmlns:app="htt...原创 2016-07-31 21:07:07 · 683 阅读 · 0 评论 -
Android开发实现中的“再按一次返回键退出程序”
1 private long clickBackTime = 0; //定义一个long类型的变量用于记录点击返回键的时间 2 3 @Override 4 public boolean onKeyDown(int keyCode, KeyEvent event) { 5 if(keyCode == KeyEvent.KEYCODE_BACK && even...原创 2016-07-31 21:08:12 · 231 阅读 · 0 评论 -
ImageView保持原图长宽比问题
在安卓的实际开发中,我们使用的图片素材长宽比各不相同,这种时如果我们的ImageView的长宽比如果跟图片素材的长宽比存在差异,则会出现ImageView中有留白的现象,如果想设置图片固定大小,又想保持图片宽高比解决方案如下:1)ImageView的width和height都设为wrap_content 2)设置ImageView的maxWidth和maxHeight ...原创 2016-08-03 10:07:29 · 4027 阅读 · 0 评论 -
Android 中的DisplayMetrics类的用法
Android 可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题。手机的分辨率信息是手机的一项重要信息,很好的是,Android 已经提供DisplayMetircs 类可以很方便的获取分辨率。下面简要介绍 DisplayMetics 类:Andorid.util 包下的DisplayMetrics 类提供了一种关于显示...转载 2016-08-04 22:33:45 · 292 阅读 · 0 评论 -
安卓开发中自定义属性枚举值设置(固定属性值)
<strong><span style="font-size:18px;">我们再编写自定义属性的时候,会出现希望自定义的属性只能有几个自己可选的值情况,</span></strong><strong><span style="font-size:18px;">这种情况就需要使用带自定义属性枚举原创 2016-08-06 10:44:21 · 2420 阅读 · 0 评论 -
Android SQLite数据库并发问题的详细描述和解决方案
在我的写android sqlite数据库中遇到了一些异常困扰了我很久。尝试了几种解决方案,找到种我感觉还是较为合理的解决方案。我很高兴把它写出来和大家共享,希望对你有一些帮助。 废话不多说,文章的开始先抛出异常SQLiteDatabaseLockedException: database is locked和java.lang.IllegalStateExceptio...转载 2019-03-10 18:03:38 · 782 阅读 · 0 评论 -
总结今天实现Topbar随屏幕滚动逐渐出现和淡出问题
实现场景:在开发过程中,需要实现初始界面Topbar不显示,当屏幕向下滚动时,Topbar逐步淡现,当屏幕向上滚动时,Topbar逐步淡出和手指向上向下抛动时Topbar对应出现和消失的效果.代码例子使用ListView控件h_rmnr_list在xml文件中将自定义的Topbar的透明度设置为0 android:alpha="0"绑定控件mListView,准备好数据之后...原创 2016-08-11 01:35:45 · 815 阅读 · 0 评论 -
ListView加载两种Item样式问题总结
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);">原创文章 ,转载请说明出处</span></span><span style="font-family:原创 2016-08-11 01:50:18 · 1789 阅读 · 0 评论 -
解决ViewPager预加载问题
研究了网上的方案,经过个人实验,总结较为有效的两种,大家可以根据自己的实际情况考虑选择使用哪种方法:1)使用懒加载机制,所谓懒加载就是利用setUserVisibleHint(boolean isVisibleToUser)方法来判断当前Fragment是否可见,从而判断是否需要加载数据,这里提供一个抽象工具类给大家使用import android.content.Context;...原创 2016-08-23 16:20:22 · 2107 阅读 · 0 评论 -
Android开发倒计时-CountDownTimer的使用
Android开发过程中经常会需要用到倒计时的功能,CountDownTimer这个抽象类能很好的帮我们实现,而且相比Timer,CountDownTimer能更灵活的start和cancle,下面来看看使用方法吧!!使用方法:1)定义private CountDownTimer mCountDownTimer =new CountDownTimer(10000,1000) { /...原创 2017-07-21 16:31:05 · 450 阅读 · 0 评论 -
Android动态权限获取总结
现在Android SDK API Level 都出到25了,市面上搭载Android6.0以上系统的手机占有率越来越高,最近给自己手头上在开发的项目做了些改进,加上了动态权限获取,在这总结下自己的做法:首先当然是来个判断(项目需要用的敏感权限主要是相机和读取手机存储两个权限): private final String[] permissions=new String[]{Mani...原创 2017-03-28 00:10:23 · 538 阅读 · 0 评论 -
Android中BitmapFactory.Options学习
首先BitmapFactory的作用是:Creates Bitmap objects from various sources, including files, streams, and byte-arrays。BitmapFactory.Options用于解码Bitmap时对各种参数的控制,详细参数介绍如下: 1)inJustDecodeBounds 如果将这个值置为tr...转载 2017-01-21 23:27:34 · 768 阅读 · 0 评论 -
安卓开发之PopupWindow
1)简介PopupWindow是Android上自定义弹出窗口,与AlertDialog相比,PopupWindow更加灵活,能够灵活的指定自定义窗口的显示位置2)用法 PopupWindow的构造函数public PopupWindow(View contentView, int width, int height, boolean focusable)contentV...原创 2017-01-18 23:10:02 · 628 阅读 · 0 评论 -
安卓开发中Application的作用
What is ApplicationApplication和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己 的Application,也很简单创建一个类继承 Application并...转载 2017-01-16 16:26:06 · 2050 阅读 · 0 评论 -
Service中调用Toast小记
Toast 显示需要出现在一个线程的消息队列中 public class TestService extends Service { private Handler handler; @Override public IBinder onBind(Intent intent){ return null; } @Override ...原创 2018-08-19 16:01:08 · 962 阅读 · 0 评论 -
安卓网络图片加载框架-Picasso使用教程
Picasso介绍Picasso是Square公司开源的一个Android图形缓存库A powerful image downloading and caching library for Android 一个Android下强大的图片下载缓存库Picasso实现了图片的异步加载,并解决了Android中加载图片时常见的一些问题,它有以下特点:在Adapter中取消了不在视图...转载 2016-10-10 13:32:33 · 1532 阅读 · 0 评论 -
解决ViewPager高度无法wrap_content问题
直接上解决方法,需要重写ViewPager中的onMeasure方法。 /** * ViewPager wrapContent解决方案 */public class WrapContentHeightViewPager extends ViewPager { /** * Constructor * * @param context the ...原创 2016-08-26 10:08:15 · 3075 阅读 · 1 评论 -
完美解决ViewPager+Fragment二次加载空白问题
ViewPager+Fragment使用的还是比较频繁的,但是当我打开应用第一次进入时很正常,然而第二次进入的时候却显示的是空白,当时感觉很是迷茫,可是仔细一查,原来是第二次加载的时候重复调用了onCreateView()这个方法,重新new了一个pageadapter导致子fragment不显示,问题的解决方法就是在onCreateView()方法里面加入如下代码<code clas...转载 2016-08-24 00:39:58 · 4011 阅读 · 3 评论 -
EGL介绍与简单GLSurfaceView实现思路
EGL介绍与简单GLSurfaceView实现思路EGL介绍与简单GLSurfaceView实现思路 前言 EGL 什么是EGL 为什么用EGL EGL关键数据类型 EGL的基础用法 如何选择Surface 基础API说明 eglSwapBuffers流程 为什么Whee离屏渲染加水印不需要调用eglSwapBuffer? ...原创 2019-03-12 16:34:05 · 1708 阅读 · 0 评论