
android
百草狂
一个简洁的想法,却是万川归海的表达----简不凡。
展开
-
adapter适配器缓存
针对内容显示每个item显示时都会触发适配器的getView,如果每次都加载布局会导致资源浪费,所以要灵活运用getView方法中的convertView/** * 第二个参数表示上一个使用过的视图(上一个从getView返回出去的内容) */ @Override public View getView(int position, View convertView原创 2017-05-03 13:53:26 · 622 阅读 · 0 评论 -
android-Bar系列
SeekBar继承ProgressBar,提供用户改变进度的拖块xml: <SeekBar android:id="@+id/m_seek" android:layout_width="300dp" android:layout_height="wrap_content" android:max="100" an原创 2017-04-26 18:01:04 · 282 阅读 · 0 评论 -
ViewPager
ViewPager是support v4包中的页面切换视图,使用时需要导入support.v4的包xml:声明 <android.support.v4.view.ViewPager android:id="@+id/m_pager" android:layout_width="match_parent" android:layout_heigh原创 2017-05-09 21:15:12 · 219 阅读 · 0 评论 -
Fragment
Fragment碎片布局。android3.0之后的新功能,Fragment需要依赖于Activity而存在,不能独立使用。Fragment的定义 public class LeftFragment extends ListFragment { private String[] items = { "字符串1", "字符串2", "字符串 3", "字符串4", "字符串5"原创 2017-05-09 21:17:13 · 188 阅读 · 0 评论 -
ButterKnife
Studio使用ButterKnife插件安装插件在File-->Settings-->Plugin搜索ButterKnife,Install,重启Studio配置依赖库在工程(Project)配置build.gradle文件中添加apt的依赖 dependencies { ... classpath 'com.neenbedankt.gradle.plug原创 2017-05-09 21:20:37 · 292 阅读 · 0 评论 -
RecyclerView
RecyclerView超级ListView,需要support:recyclerview1、在build.gradle中导入support包 compile 'com.android.support:recyclerview-v7:25.0.0'2、在xml中布局 <android.support.v7.widget.RecyclerView android:id="@原创 2017-05-09 21:22:56 · 210 阅读 · 0 评论 -
Tween动画
动画:Tween动画(Animation)、Frame动画(AnimationDrawable)、属性动画(Animator)Tween动画通过对一个视图不断的进行平移、旋转、放大、缩小、透明变换所形成的动画透明度动画//创建动画对象AlphaAnimation anim = new AlphaAnimation(1.0f,0);//设置时间anim.setDuration(1000);//原创 2017-06-20 09:30:04 · 443 阅读 · 0 评论 -
线程通讯,多线程
多线程ANR:application not responding应用无响应,主要原因主线程(UI)产生阻塞Thread+HandlerThread处理一些复杂的业务逻辑(耗时的事情)Handler在主线程中接收消息的一个对象mHandler.sendMessage(msg); 发送一个消息对象mHandler.sendEmptyMessage(what) 发送空消息,只有what没有obj原创 2017-06-20 09:31:39 · 339 阅读 · 0 评论 -
http网络请求
网络请求需要在子线程中使用网络请求,网络请求需要有权限new Thread(){ void run(){ //网络请求 URL url = new URL("..."); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //配置超时原创 2017-06-20 09:32:45 · 528 阅读 · 0 评论 -
Activity跳转、子线程
Android四大组件:Activity 交互:前台美女Service 服务:苦逼程序员ConrtentProvider 存储:财务 仓管Brocast Intent Receiver 广播:跑腿的 小秘书 负责通讯Activity跳转1、需要定义目标界面 public class LoginActivity extends Activity { // 窗口创建时触发原创 2017-04-26 17:56:21 · 1305 阅读 · 0 评论 -
StateDrawable和文本系列控件
StateListDrawable需要在drawable下新建selector文件(如:check_button_drawable.xml)<selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 资源选择器,可以根据目标视图的状态来显示对应的资源(图片、颜色) --> <!-原创 2017-04-24 21:11:47 · 378 阅读 · 0 评论 -
android布局
模拟器的内置应用:adb remountadb shell cd /system/app -->可以删除PlayGames.apk Helper.apk ls 查看列表 rm -rf PlayGames.apk 卸载内置应用 cd /system/priv-app rm -rf yingyong...apk ls -ll 查看列表(已详细信息的方式原创 2017-04-24 10:45:40 · 261 阅读 · 0 评论 -
GridView、showDialog
GridView xml: <GridView android:layout_width="match_parent" android:layout_height="match_parent" android:numColumns="3" 列数 android:horizontalSpacing="5dp" 单元格的水平原创 2017-05-03 13:57:02 · 333 阅读 · 0 评论 -
Notification-通知栏
通知Notification表示一个通知对象,可以描述一个状态栏上的通知信息NotificationManager表示一个通知服务,通知显示和隐藏的功能nManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);显示通知判断当前所在的平台版本,可以使用Build.VERSION.SDK_INTif原创 2017-05-03 13:59:39 · 318 阅读 · 0 评论 -
动态布局
动态布局1、加载到/创建了布局对象(ViewGroup及其子类对象)// 创建一个布局 layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL);2、创建子视图(布局的孩子)// 创建按钮 Button btn1 = new Button(this); //设置基本属性3原创 2017-05-03 14:05:09 · 397 阅读 · 0 评论 -
PopupWindow
PopuWindow初始化 // 先加载窗口的布局 View layout = getLayoutInflater().inflate(R.layout.popu_layout, null); layout.findViewById(R.id.menu_01).setOnClickListener(this);原创 2017-05-03 14:09:24 · 309 阅读 · 0 评论 -
view的绘制
View的绘制流程1、onMeasure测量(计算宽高)2、ViewGroup进行onLayout(基于位置和宽高布置到屏幕)3、onDraw视图显示自身内容(渲染)Canvas画布,可以提供视图显示的载体,可以绘制文本、几何图形、图像、填充颜色Paint画笔,针对画布需要绘制的内容的修饰//创建画笔paint = new Paint();//设置画笔颜色paint.setColor(0xff原创 2017-05-11 21:02:45 · 230 阅读 · 0 评论 -
android自定义绘图
Canvas绘图圆角矩形需要使用RectF对象来描述矩形区域RectF rect = new RectF(left, top, right, bottom);//绘制圆角矩形(矩形区域,圆角x方向半径,圆角y方向半径,画笔)canvas.drawRoundRect(rect, 20, 20, p);画椭圆//椭圆绘制 RectF rect = new RectF(50,20,250,120原创 2017-05-11 21:04:55 · 267 阅读 · 0 评论 -
位图
位图Drawable:图形图像 动画 颜色Bitmap:图像从资源中获取位图//从资源中获取位图BitmapDrawable bd = (BitmapDrawable) getResources().getDrawable(R.drawable.pic2);Bitmap bitmap = bd.getBitmap();BitmapFactory解码图像信息(宽高、像素点、裁剪)可以借助裁剪功能原创 2017-05-11 21:07:30 · 276 阅读 · 0 评论 -
图像变化,多点触控
图像绘制//绘制图像(位图对象,位图左上角x坐标,位图左上角y坐标)canvas.drawBitmap(mBitmap, 50, 10, null);//第二个参数表示图像上的区域,可以null,null表示全图//第三个参数表示画布上显示图像的区域canvas.drawBitmap(gameBitmap, bitmapRect, showRect, null);图像变换需要有Matrix对原创 2017-05-11 21:09:08 · 299 阅读 · 0 评论 -
RxJava
RxJava剥析着手写RxJava2简析,也是我希望有更多人有对他更全面的了解,而不是先看到代码,一脸茫然,觉得不知如何用起,最重要的,还是自己以什么心态去学习这陌生又熟悉的RxJava,是随波逐流还是寻求自我,学什么都无非如此。好了,长话短说,入正:Question 1:是什么;两个字:异步。Question 2:工作原理;要使用,得先要了解RxJava特点: 首次看到它的时候,感觉这代码风格和原创 2017-07-01 17:46:11 · 437 阅读 · 0 评论