对于一个应用,图片加载几乎是必不可少的,网上也有许多教程,而加载图片我们常常会遇到许多的问题,比如说图片的错乱,OOM等问题,对于刚入门的同学来说,应对起来比较吃力,所以就有很多的开源图片加载框架应运而生...
Android
viewpager广告轮播
基于ViewPager做一个广告轮播图 一 初步搭起viewpager轮播 1.1 在activity_main.xml中放置viewpager控件 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.and...
绘制圆角Button
很多时候会用到圆角button,那么如何使用xml来绘制圆角按钮呢? 1 在res/drawable文件夹下新建btn_bg_black_corner.xml文件: <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:and...
使用ListView的传统写法
我们一般编写listView的时候顺序是这样的: 需要展示的数据集List 为这个数据集编写一个ListView 为这个ListView编写一个Adapter,一般继承自BaseAdapter 在BaseAdapter内部编写一个ViewHolder类,对应ListView...
android:inputType常用取值
设置inputType值 //文本类型,多为大写、小写和数字符号。 android:inputType="none"//输入普通字符 android:inputType="text"//输入普通字符 android:inputType="textCapCharacters"//输入普通字符 android:...
可以拖动和侧滑Item的ListView开源组件
SlideAndDragListView 开源框架 SlideAndDragListView 的Fork地址 Demo下载 SlideAndDragListView 一个可以左右滑动 item 和拖放 item 的 ListView Demo: 下载 更新日志: CHAN...
Android 横屏时禁止输入法全屏
当把pad横屏输入文字时,弹出的输入法会占据全屏,对用户体验不好. 一 是在源码里进行修改。 frameworks/base/core/java/android/inputmethodservice/InputMethodService.java 1、在updateFullscreenMode(..)...
新建as工程的build.gradle
从网络上下载的项目,有时会报错,修改build.gradle试一下. apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion "26.0.0" defaultConfig { appli...
CardView卡片式布局
转载: https://www.cnblogs.com/laoyimou/p/6639685.html CardView适用于实现卡片式布局效果的重要控件,由appcompat-v7库提供,实际上CardView也是一个FrameLayout,只是额外提供了圆角和阴影效果,看上...
跳不同系统界面的方法
跳不同系统界面的方法 代码: // 若系统GPS模块没打开, 跳到app应用详情 public static void getAppDetailSettingIntent(Context context) { Intent localIntent = new Intent(); localIntent.add...
Android Studio项目目录介绍
谷歌15年底停止支持其他集成开发环境, 而着重推出Android Studio工具, 而至今Android studio已发布稳定版, 本文主要对Android studio项目结构作介绍. 工程的目录介绍 1 Android模式:项目创建时的默认模式. ...
View的基础知识
View的基础知识 View 的一些基础知识: 主要介绍的内容有:View 的位置参数、MotionEvent 和 TouchSlop 对象、VelocityTracker、GestureDetector 和 Scroller 对象.
使用 AsyncTask
使用 AsyncTask import android.os.AsyncTask; import android.widget.Toast; class DownloadTask extends AsyncTask<Void, Integer, Boolean> { @Override protected void onPreExecute(...
使用通知NotificationManager
使用通知 下面我们就来学习一下创建通知的详细步骤. 首先需要一个 NotificationManager 来对通知进行管理,可以调用 Context 的 getSystemService()方法获取到. NotificationManager manager = (Notific...
SharedPreferences 存储
SharedPreferences 存储 不同于文件的存储方式,SharedPreferences 是使用键值对的方式来存储数据的。也就是说当保存一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可以通过这...
SQLite数据库存储
SQLite数据库存储 项目中,我用的是ormlite框架, 等后期我把操作步骤搬上来. 1 导入jar ormlite-android-4.43.jar ormlite-core-4.43.jar 2 创建实体类 3 创建Dao 4 创建DaoImpl 5 创建DatabaseHelpe...
文件存储
文件存储 文件存储是 Android 中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文件当中的,因而它比较适合用于存储一些简单的文本数据或二进制数据。如...
子线程的基本用法
子线程的基本用法 方法一: 定义一个线程只需要新建一个类继承自 Thread,然后重写父类的 run()方法,并在里面编写耗时逻辑即可. class MyThread extends Thread { @Override public void run() ...
广播机制
广播机制 标准广播,有序广播 标准广播(Normal broadcasts)是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此它们之间没有任何先后顺序可言。这...
发送自定义广播
发送自定义广播 发送标准广播 在发送广播之前,我们还是需要先定义一个广播接收器来准备接收此广播才行,不然发 出去也是白发. 1 新建一个应用项目BroadcastTest1 2 新建一个 MyBroadcastReceiver继承...