Android
azhansy
努力,让生活更具色彩。
展开
-
仿ios可上提下拉的ScrollView
新建仿ios可上提下拉ScrollView的Java类,直接在xml布局文件中包含所需控件即可package com.zhansy.mytext;import android.content.Context;import android.graphics.Rect;import android.os.Handler;import android.util.AttributeSet;原创 2015-08-06 15:34:07 · 518 阅读 · 0 评论 -
butterknife7.0的使用
Butterknife是一个懒人工具,大量减少了程序员的代码,尤其是又长又臭的findViewById之类,下面介绍一下它的使用。1、导包,没有找到的哥们点击这里2、定义声明控件@Bind(R.id.tv)3、在main函数中Butterknife.Bind(this)--->对于Activity使用4、直接定义方法使用@Onclick(R.id.tv)void onCli原创 2015-08-06 14:49:47 · 2909 阅读 · 0 评论 -
Android menu菜单items间隔设置
在你的acticity主题中添加:<item name="android:actionButtonStyle">@style/myActionButtonStyle</item>设置需要的样式 <!--menu items 间隔设置--> <style name="myActionButtonStyle" parent="Widget.AppCompat.ActionButton">原创 2016-05-05 19:18:52 · 10006 阅读 · 0 评论 -
View的进阶理解
项目中刚好需要用到这个同步进度圈,这里做一个总结: 开始同步:背景灰色的圈,两条弧,弧头有个类似的箭头,中间是提示字 正在同步:在开始同步基础上,有一个底色的外圈,在其上面有个根据进度条显示的进度圈,颜色随着进度而变化,提示字下面有个百分比进度显示; 同步完成:在同步基础上,出现一个对钩原创 2016-11-03 15:07:30 · 520 阅读 · 0 评论 -
自定义View
Android中,所有的界面布局都是View来的,各种ImageView 、TextView、LinearLayout等等都是继承View而来的。1、继承View,至少提供一个构造函数 2、定义自定义属性: a)在你的view资源标签下定义自设的属性 res/values/attr.xml b)在你的xml layout中指定属性 c)运行时,获取指定属性 d)把获取的属性应用到Vie原创 2016-07-25 19:46:28 · 457 阅读 · 0 评论 -
Android API版本与对应级别
每次查找对应的版本、API、Android对应版本关系,都找大半天; 现在在这里做个笔记,免得每次都要查询,免得麻烦。 Android官网: https://developer.android.com/guide/topics/manifest/uses-sdk-element.html Android中国官网: https://developer.android.google.cn/g原创 2016-12-22 15:00:53 · 724 阅读 · 0 评论 -
AlertDialog点击按钮不消失
我有一个文本输入对话框,当我点击对话框上的“是”按钮,它会验证输入,然后关闭对话框。但是,如果输入错误,我想停留在同一个对话框中.。每一次,无论输入是什么,对话框应该自动关闭,当我点击“否”按钮。我怎么才能禁用这个?在网上找了很多,大部分都是修改布局,添加取消确定什么的,这样并不理想。现在有个好方案,记录下来先: //重写“确定”(AlertDialog.BUTTON_POSITIVE),截取监原创 2017-01-04 10:37:49 · 3165 阅读 · 0 评论 -
TextView设置html标签内容
需求背景: 内容通知来自服务端的推送,因为不一样的活动需要,推送不一样的内容,内容的组成部分为html,都是前端的标签,可能有多个不同网址。 而app内,要使用TextView来显示html的内容,因为内容的不一样,以及内置的链接要适用跳转到app内的各个模块; 内容分析: 从需求来看,主要有以下几点注意: 1、活动内容不一致,html包含各种不同的格式; 2、内容都是html标签;原创 2017-02-28 19:07:08 · 1625 阅读 · 0 评论 -
圆弧的动画效果实现
需求背景: 画一个app占用的内存图,其中有三个弧, 1、背景全部内存的圈圈; 2、本app占用的内存 3、除app外其他文件占用的大小 进来查看缓存图时,环形需要动态显示 技术分析: 从图上看,挺简单的,就三条圆弧,笔宽如图这么大就可以了; 设置三个Paint的不同颜色; 计算所占的比例; 重点以前不懂动态显示圆弧; 网上查阅: 主要是利用ObjectAnimator原创 2017-03-10 15:30:24 · 1473 阅读 · 0 评论 -
Android6.0运行时权限,拒绝了权限还返回获取成功
如题: 推荐一个很好的项目:AndPermission 不用回来感谢了喂!这个问题在项目中,一直存在, 主要是第三方厂商各种改,返回的状态不正常; 主要解决思路: 在第三方成功获取权限时, 再用系统原生的api去判断一下,是否真正获取了权限: /** * 系统层的权限判断 * * @param context 上下文 * @param pe原创 2017-07-01 18:11:59 · 4639 阅读 · 6 评论 -
Android Design Support Library
本文主要是讲述Android 5.0出现的 Material Design, 其中包括android.support.design.widget包下的: CoordinatorLayout 、 AppBarLayout、 CollapsingToolbarLayoutCoordinatorLayout-多功能的FrameLayout,主要建议用在两种情况 1. 在应用app...原创 2018-03-26 21:18:26 · 259 阅读 · 0 评论 -
用ImageLoader下载网络图片
1、导包ImageLoader找不到的哥们,点击这里2、创建默认的ImageLoader配置参数DisplayImageOptions options = new DisplayImageOptions.Builder() // 设置图片下载期间显示的图�? .bitmapConfig(Bitmap.Config.RGB_565)原创 2015-08-03 16:47:37 · 1492 阅读 · 0 评论 -
afinal框架的Demo
Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据原创 2015-10-22 09:40:49 · 1118 阅读 · 0 评论 -
ToastTools土豆丝工具类
/** * @author ZHANSY *Toast统一管理类 */public class ToastTools{ private static Toast toast = null; /** * 短时间显示Toast * @param context 上下文 * @param message 提示信息(String类型) */原创 2015-11-13 17:24:12 · 868 阅读 · 0 评论 -
Json网络解析
上一篇已经本地解析,接下来只是添加一个网络的异步下载volley1、首先导包volley2、在上一篇的基础上添加:RequestQueue requestQueue = Volley.newRequestQueue(this); //网络链接,记得给INTERNET权限! String JSONDataUrl = "http://原创 2015-08-03 16:08:13 · 422 阅读 · 0 评论 -
既可以滑动也可以点击切换(ViewPager跟Fragment)
整体布局思路如图:1、首先创建一个Activity并且继承FragmentActivity,布局文件中留下一个Framelayout初始化事务,添加Fragment,提交事务MainActivity:package com.zhansy.mytext;import android.os.Bundle;import android.support.v4.app.原创 2015-08-10 11:34:08 · 825 阅读 · 0 评论 -
把后一个Activity的内容传回给前一个Activity(onActivityResult与setResult)
一个Activity跳到另一个Activity时,如果希望后一个Activity结束后把内容传回到前一个Activity,就可以使用系统提供的startActivityForResult(Intent intent,int requestCode)方法打开新的Activity,而此时前一个Activity就需要重写onActivityResult(int requestCode, int resu原创 2015-08-07 13:58:31 · 723 阅读 · 0 评论 -
本地解析Json
1、把json放在res/raw下2、把json所有字符取出来,对象为jsonObect //将json文件读取到buffer数组中 InputStream is = this.getResources().openRawResource(R.raw.getcart); byte[] buffer = new byte[is.availab原创 2015-08-03 15:23:55 · 421 阅读 · 0 评论 -
FragmentTransaction实现Fragment转换
用的是v4包,所以获取用 getSupportFragmentManager1、定义FragmentTransaction和Fragmentprivate FragmentTransaction fragmentTransaction;private Fragment indexFragment,msgFragment,meFragment;2、初始化事务,R.id.fi_conte原创 2015-08-06 17:36:19 · 691 阅读 · 0 评论 -
FlycoDialog_Master多样式对话框
FlycoDialog_Master写得很好,必须支持! 一个多样式很有用的对话框,小部件和动画定制。易于使用,易于定制。支持Android 2.2及以上。 A powerful android dialog library with inner widgets and animations supports customization.Easy to use, easy to customis原创 2015-10-30 11:04:43 · 1004 阅读 · 0 评论 -
Could not resolve com.android.support:appcompat-v7:22.2.1
本来在办公室做的项目没有错误,把项目放在自己宿舍的电脑,在编译时出现了Could not resolve com.android.support:appcompat-v7:22.2.1,宿舍电脑Android Studio的SDK没有任何问题,后来发现是自己的库包与项目的不合: 我的是Could not resolve com.android.support:appcompat-v7:22.2.0原创 2015-09-16 20:49:48 · 10849 阅读 · 1 评论 -
Android天气预报,Json解析,百度天气接口
利用百度天气提供的接口,申请了一个key: 关键代码://主机String httpUrl = "http://apis.baidu.com/apistore/weatherservice/recentweathers";//参数String httpArg = "cityname=%E5%8C%97%E4%BA%AC&cityid=101010100";String jsonResult原创 2015-09-16 14:13:27 · 1337 阅读 · 0 评论 -
AndroidRuntimeException: requestFeature() must be called before adding content
第一种情况是requestWindowFeature要写在setContentView前面requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);今天发现居然还报错了,我就郁闷了。 后来才发现,由于工具转用了Android Studio默认新建类继承AppCompatActivity原创 2015-09-18 09:16:14 · 878 阅读 · 0 评论 -
EvenBus的入门
前提:下载EventBus的jar包,导包1、自定义一个类,可以是空类,可以有属性,有构造方法等/** * Created by Administrator on 2015/7/31. */public class PayForTotalMoney { private String mMsg; private double temp; public PayFo原创 2015-08-03 09:39:29 · 917 阅读 · 0 评论 -
双卡双待获取正在联网的运营商的IMSI
背景: 以前google默认的是单卡的, 双卡双待为国内厂商定制, 所以没有直接的系统API来获取正在联网的是哪张卡; 步骤: 主要分三种情况: 1、Android5.0之前的,目前先放弃 2、在Android5.0后可以通过ISub来获取哪张卡在联网, 通过反射获取对应的IMSI 3、Android7.0后通过SubscriptionManager.getDefaultData...原创 2018-05-23 18:37:44 · 1454 阅读 · 0 评论