- 博客(41)
- 资源 (6)
- 收藏
- 关注

原创 listview+edittext完美解决方案
通常如果listview中的item内容有edittext的时候,会出现很多问题。主要有: 1.点击弹出编辑框,edittext会失去焦点。 2.输入内容后,向下滑动因为listview的item重用机制,你在上面输入的内容下面的item也会显示。 3.输入内容后,向下滑动再拉回来原来的数据消失。...
2015-12-21 16:19:56
15030
原创 安卓播放视频全屏显示问题
遇到的问题:点击视频的全屏键没有反应,在网上找,发现好多人也遇到此问题,没找到解决方法,今天来分享下我的解决思路,希望能够帮到大家。话不多说直接上核心代码:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" andr
2021-06-03 13:57:40
956
原创 列表自定义控件
平常软件开发中经常要用到自定义列表控件,难得有时间今天来分享一个常用的自定义列表控件。话不多说,先上效果图:刚好最近有需求需要实现一个列宽能够随着内容变化的列表控件,在网上看了好多已经造好的轮子,最后觉得最下面这个轮子比较适合我的项目,当然得对这个项目进行一些改造。主架构:左侧固定头部textview+右边可滑动头部分由横向LinearLayout实现,下方是一个recycleview,里面item布局左侧固定,右侧也由横向LinearLayout实现。好了,话不多说直接上代码。package c
2021-05-06 17:02:01
342
原创 安卓一些常用的小知识
1、android gradle 3.0.0 中依赖指令implementation、api 的区别。简单来说就是使用implementation指令的依赖不会传递。例如,有一个module为sdk,sdk依赖于gson库,有另一个module为test依赖于sdk,但是test不能直接引用到gson这个库,而api则可以做到。但是api既然有这优势必然有其劣势,那就是编译会比implementation慢,所以能用implementation就用这个,迫不得已再用api。2、在Google最新推出
2021-03-09 19:51:52
109
原创 安卓图片控件显示总结
图片显示总结:imageView (通过setImageDrawable设置的图片会根据分辨率自动缩小放大,配置最大像素的即可)imageButton(需要手动配置各个dpi像素的图片)方法总结:setBackgroundDrawable在android4.1已废弃,由setBackgroundResource代替。setBackgroundResource ---->xml ...
2020-04-06 14:35:28
259
原创 providers出现重复问题。
现在android studio的使用已经很普遍了,引用包也越来越方便,然后就出现了一些奇葩的问题,比如说provider重复问题。在引用compile ‘com.jph.takephoto:takephoto_library:4.0.3’ 这个类库时发现此类库里的注册文件中也包含provider文件,造成了重复。所以只能通过下面这种方式解决。 <provider ...
2019-03-19 15:21:17
894
原创 安卓通过文件存储数据
话不多说直接上工具类:import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IO...
2019-01-09 15:19:12
380
原创 webview与js交互两种方式
安卓里面经常会用到webview与js交互的问题,一般有两种方式处理。1.通过与web方面定义接口方式:(推荐)安卓端代码实现: JavaScriptInterface JSInterface; wv = (WebView) findViewById(R.id.web); wv.getSettings().setJavaScriptEnabled(...
2019-01-08 10:46:22
3029
转载 【Android】不使用WebView来执行Javascript脚本(Rhino)
1.导入js.jar包https://download.youkuaiyun.com/download/u013377714/108955072.代码引用:public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { ...
2019-01-04 14:17:59
2219
2
转载 内存泄漏全解
内存泄露简介内存泄露,即Memory Leak,指程序中不再使用到的对象因某种原因从而无法被GC正常回收。发生内存泄露,会导致一些不再使用到的对象没有及时释放,这些对象占用了宝贵的内存空间,很容易导致后续需要分配内存的时候,内存空间不足而出现OOM(内存溢出)。无用对象占据的内存空间越多,那么可用的空闲空间也就越少,GC就会更容易被触发,GC进行时会停止其他线程的工作,因此有可能会造成界面...
2018-09-17 17:12:50
688
原创 安卓通过url打开app,以及下载对应app
一.使用Custom Scheme URI打开APP此红色部分(自定义Uri)引用的博客是:http://blog.youkuaiyun.com/buptlzx/article/details/9837137 就Android平台而言,URI主要分三个部分:scheme, authority and path。其中authority又分为host和port。格式如下:scheme://ho...
2018-06-08 15:08:05
8605
转载 安卓代码编写规范
之前读了阿里巴巴的java代码规范终极版,作为同为java的android也基本上都适用,现自己通过手打摘录来加深自己的印象,提高自己以后编码可阅读性,同时与各位java开发分享,让我们的代码更加漂亮。(一) 命名风格1.代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例:_name / __name / Object/name/nameObject / name_ / n
2017-10-13 14:36:04
639
原创 android绘制动画实现方式
#代码用途 比如当我们想实现数据的走势,通过一个动画能够非常直观的表现出来,给用户一个好的体验。 以下代码通过动画巧妙的避免了通过线程来实现动画效果。(推荐) ValueAnimator mAnimator = ValueAnimator.ofFloat(0, 100);//绘制范围0到100 mAnimator.setDuration(100
2017-04-24 14:53:07
1627
原创 android小结
记录新的知识点: 1:为什么mContentFmLayout明明是FrameLayout 类型,在mContentFmLayout.getLayoutParams()得到的是LinearLayout, 看下源代码后发现,通过getLayoutParams()获取到的是父类的类型哦。private FrameLayout mContentFmLayout;LinearLayout.LayoutP
2016-08-16 16:29:04
351
原创 使用andorid studio遇到的问题
android studio使用后遇到的比较奇葩的问题,以后会一直跟新。1:项目之前还能运行,改了些代码后再运行一直报运行内存不足,can't converting byteclass to dexjavaMaxHeapSize "4g"之后不断升这个值,还是不行,不管怎么clean,重启都不行,然后百度说有些lib包重复引用了,但是并没有发现这问题最后在我误打误撞删掉项目...
2016-05-30 19:33:43
1555
原创 fragment简单有用的一些细节
android开发非常熟悉的一个用来展示界面的碎片,在我们操作fragment的过程当中,需要注意许许多多的细节,下面就来分享下我遇到的一些细节上的东西。 1.fragment是依附于activity的,但是有自己的生命周期,其中它和activity一样都有生命周期的onresume()方法,我们要注意当我们想执行fragment的onresume的方法时,必定...
2016-04-20 23:33:36
1036
原创 android简单的自定义动画
我们在登录时,当密码错误时,经常会出现登录按钮的摇头动画,今天刚好学到自定义动画,分享一下。下面为自定义动画类:public class SelfAnimextends Animation{@Overridepublic void initialize(int width,int height, int parentWidth,//在执行applyTransformat
2016-02-27 13:01:11
528
原创 android控件获取屏幕坐标
android中,得到目标控件或者点击位置坐标总结:在motionevent获取到的点击位置 final float eventX = event.getX();//相对于父控件 final float eventY = event.getY(); final float eventrowX = event.getRawX();//
2015-12-03 14:01:51
2770
原创 android中遇到的java反射
android开发中反射也是常用到的方法,通过反射加载某个类中的方法并执行,下面就是对一般类中方法的反射总结://无参方法:publicstatic BaseIntentHelper getInstance()反射:Class clazz = (Class) Class.forName(className);//得到类实例Method m = clazz.getMeth
2015-12-02 15:03:31
468
原创 fragment中的空指针问题
今天遇到一个很奇怪的空指针问题,看了好久问了大牛才知道,为了避免大家遇到同样地问题故在这里指出我遇到的问题,首先我有一个自定义控件gridview,在里面要调用fragment中的一个方法。 在activity中将fragment引入,fragment中通过new gridview得到一个自定义控件的实例传入getactivity()将activity的对象传入,然后setad
2015-11-27 10:14:28
6362
原创 android动画总结
好的动画效果往往让这个应用变得更有活力。下面我讲讲我到现在经历的动画历程。我们都知道android现在主要有三种动画: View Animation 控件动画 Drawable Animation 帧动画 Property Animation 属性动画(后面出来的) 首先接触到的是 帧动画,当时做一个项目时,用到加载的时候上面是
2015-11-25 16:32:23
427
原创 java中的位移符
在我们开发中有时为了速率往往要用到位移运算符,今天将自己了解的做一个总结: 0000 0000 0000 0000表示正数的0 1111 1111 1111 1111表示-1,其中第一位为符号位,在计算机中会显示,一般计算中忽略第一位。 看看它为什么是-1:如果是有符号数,题中给的是补码,最左边的1表示负,仅
2015-11-18 11:00:40
708
原创 android的滑动控制
我们在开发中经常遇到滑动到下一页的情况可是哪一种情况是能滑动到下一页、或者说是留在原来页面呢。滑动页面首先我们想到的就是viewpager这个简单好用的滑动页面控制可是很少有人知道里面到底是控制如何实现滑动的。 那就让我们来讲讲VelocityTracker这个获取滑动速度的对象。首先一般是得到最小滑动距离或者自己写一个距离来控制mTouchSlop = ViewConfigu
2015-11-11 14:44:35
586
原创 android项目开发之单元测试
在进行android开发过程中,第一步的测试那当然就是程序员自己的单元测试了,今天就让我们好好讲讲单元测试的简单步骤以及注意事项吧。 第一步:当然就是创建单元测试的java类了,如下简单地测试类:public class BizTestextends AndroidTestCase {//该类必须继承AndroidTestCaseIExamBiz biz;@Over
2015-10-30 10:36:22
642
原创 android中的跨进程服务组件aidl
我们经常在android开发中会接触到aidl这个跨进程服务组件,今天我就写点关于对它的理解。 首先,aidl是典型的代理模式。那自然它有调用的一端以及实现的一端,暂且先定义为,API.Proxy以及API_Stub我们不考虑其内部的实现原理,因为android在里面都已经封装好了数据的实现原理。 接下来我们直接根据一个音乐播放器的代码直观的来说:首先是我们
2015-09-10 15:16:20
868
原创 自定义控件中的DrawingCache
叙述学到东西不偷着藏着,趁今天周五赶紧跟大家分享一下DrawingCache.当我们想对之前已经绘制过的东西进行保存时,需要用到的一个方法。 下面结合一个简单地例子–画飞机,讲讲这个方法的简单好用之处。。希望对大家有所帮助。 package com.sc.yanzheng.wight; import com.sc.yanzheng.R; import android.annotation.S
2015-07-31 10:26:38
714
原创 设置中用到的简单好用的PreferenceActivity
我们在开发中经常会遇到对东西的下载,显示,那么在何种条件下才对内容进行显示,或者说显示的内容有哪些呢,下面我们就来介绍今天的主题PreferenceActivity:首先创建一个activity继承PreferenceActivity,与其它的activity不同它在oncreate方法中不是采用setcontentview方式而是添加一个方法: addPreferencesF
2015-07-26 17:31:40
1012
原创 简单的重写控件
我们知道最基本的就是继承View,下面我们结合一个例子对重写进行简单地分析: 继承一个view,都会有一个或多个构造方法,在不同的时候调用到不同的构建方法,一般会重写三个方法,onMeasure();onLayout();onDraw();分别是测量,定位和画下面说下,android中重写view时,经常会遇到的混淆:requestLayout(),invalidate
2015-07-19 15:12:08
981
转载 策略模式的使用
初步的代码:[java] view plaincopypackage com.zhy.bean; /** * 游戏的角色超类 * * @author zhy * */ public abstract class Role { protected String name;
2015-05-22 16:43:25
431
原创 android-命令模式在项目中的应用
设计模式之:二:命令模式在项目中我们经常会碰到listview,gridview这些控件,而经常我们需要对这些item里面的小控件进行点击,比如里面的图片,名字之类的。此时,命令模式就很好地发挥了作用。我们经常会遇到一种模式,就是一个接口我们先引用,然后再在另一个类里面实现,即请求者不直接与接收者交互, 即请求者不包含接收者的引用, 因此彻底消除了彼此之间的耦合。/** *
2015-05-07 09:23:40
484
原创 android-设计模式的应用
设计模式系列之一:观察者模式背景:当我们退出android应用时,往往不能关闭所有的activity而系统又没有提供一次性退出所有应用的方法。此时观察者模式很好的解决了这个问题:我们在做android项目时往往用到一个baseactivty,这是继承了avtivity的基类,我们把在各个activity用到的方法都整理到这个activity,方便以及加速我们的开发过程。而在我们
2015-05-06 10:30:25
493
原创 Horizontal+ViewPager
首先布局文件:xmlversion="1.0"encoding="utf-8"?>LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_par
2015-03-06 11:07:02
580
原创 android多线程应用
1.简单的异步操作:new Thread(new Runnable() {//开启一个新线程(执行耗时操作) @Override public void run() { // TODO Auto-generated method stub Me
2015-01-29 10:52:58
494
原创 ScaleAnimation
分享大家一个关于ScaleAnimation的点击事件,个人非常喜欢boolean fcous;booleanisRunAnim;boolean isClick;public void setonClick(View view){view.setClickable(true);view.setOnTouchListener(new OnTouchListener() {
2015-01-19 16:03:12
721
原创 Scrollview嵌套ListView
我们在做android开发的时候,经常会遇到Scrollview嵌套ListView的问题,其中有几点问题,就是scrollview和listview都会滑动。第一个问题,解决listview的滑动:设置listview不滑动重写listview,重写listview中的onmeasure方法/*** 设置不滚动*/public void onMeasure(int w
2015-01-19 15:48:38
1683
原创 简单的android缓存问题
前几天遇到一个问题,刚if(VERSION.SDK_INT>=VERSION_CODES.HONEYCOMB) task().executeOnExecutor(Executors.newCachedThreadPool(),TaskType.INIT); else task().execute(TaskType.IN
2014-09-18 14:03:21
465
SettingEditAdapter.java
2020-04-06
网站的xml解析,以及preferenceActivity的设置
2015-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人