![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
用户3313363253
这个作者很懒,什么都没留下…
展开
-
仿 36Kr Banner
主要的就是一个PageTransformerclass ScaleInTrasformer implements ViewPager.PageTransformer { private float sideScale; public ScaleInTrasformer(float sideScale) { this.sideScale = sid原创 2017-01-06 15:21:02 · 237 阅读 · 0 评论 -
Android 动态代理
Java动态代理只支持Interface,可以控制对象的访问看一个例子:上面定义了一个接口Animal和实现类Dog,接下里看重点ProxyHandler 使用动态代理的关键就是要实现InvocationHandler,在ProxyHandler 中定义了一个回调ProxyCallBack,方便调用使用运行结果如下如果注释掉ProxyHandler中的method.invoke(target, a原创 2017-04-24 14:52:35 · 343 阅读 · 0 评论 -
Retrofit缓存
public static OkHttpClient genericClient() { if (client != null) { return client; } //缓存路径 File cacheFile = new File(App.getContext().getCacheDir(), "HttpCac原创 2017-04-20 15:34:09 · 336 阅读 · 0 评论 -
ScrollView嵌套ListView或者RecyclerView时默认滑动一段距离问题
ScrollView嵌套ListView或者RecyclerView时,当列表视图上还有视图的时候,这些视图可能默认会被滑过,导致ScrollView显示出来就是列表视图的位置解决也很简单,在上面的视图布局添加 android:focusable="true" android:focusableInTouchMode="true"原创 2017-01-25 14:05:48 · 403 阅读 · 0 评论 -
分享一个回弹插值器
效果如下代码class MyBounceInterpolator implements Interpolator { double defaultAmplitude = 0.3f; double defaultFrequency = 6; public MyBounceInterpolator() { }原创 2017-01-24 17:22:31 · 677 阅读 · 0 评论 -
ToolBar 常用属性
默认的ToolBar可能是这个样子有时候可能需要标题居中,可在布局中添加一个TextView .support.v7.widget.Toolbar android:id="@+id/toolBar" android:layout_width="match_parent" android:layout_height="wrap_cont原创 2017-01-10 14:39:54 · 4151 阅读 · 1 评论 -
leakcanary 检测内存泄漏
leakcanary https://github.com/square/leakcanaryA,B两个Activity,A跳转到B,B用CountDownTimer计时,并且不做取消处理,然后立刻返回到A先初始化LeakCanarypublic class App extends Application {@Overridepublic void onCreate() {原创 2017-01-13 15:18:44 · 210 阅读 · 0 评论 -
Android不规则形状点击检测
public class TouchRegionView extends View { Paint paint = new Paint(); //主要是Region ,region存储了圆的Path Region circleRegion;//圆的Region Path circlePath;//圆的path public TouchRegionView(Contex原创 2017-01-13 15:15:30 · 598 阅读 · 0 评论 -
AndroidStudio 用正式签名调试应用
1.打开app/build.gradle// 2.在android配置下添加 signingConfigs { debug { storePassword "密码" keyAlias "别名" keyPassword "别名密码" storeFile file("keystore路径") }}原创 2017-01-13 15:15:27 · 213 阅读 · 0 评论 -
Android 简单实现流式布局
上代码public class FlowLayout extends ViewGroup { public FlowLayout(Context context) { super(context); } public FlowLayout(Context context, AttributeSet attrs) { super(context, att原创 2017-01-13 15:15:24 · 298 阅读 · 0 评论 -
Android轻松实现ListView下拉放大
先上图自定义ListView代码public class AListView extends ListView { final String TAG = "AListView"; private ImageView headerImage; private int headerHeight; public AListView(Context context) {原创 2017-01-13 15:15:21 · 659 阅读 · 0 评论 -
Android 透明状态栏
//沉浸状态栏 4.4if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);}//透明状态栏 5.0if (Build.VERSI原创 2017-01-13 15:15:15 · 273 阅读 · 0 评论 -
Android 加载其他Apk中的资源文件
public Drawable loadApkResources(String apkPath) { try { //获取apk的资源 最终都要通过AssetManager 获取, getAssets() 获取的AssetManager是获取的本身Apk的 //获取其他Apk的资源需要实例化一个AssetManager,并把该AssetManager的加载路径修原创 2017-01-13 15:15:13 · 2906 阅读 · 0 评论 -
Android 加载其他Apk中的类方法
注意读写SD卡的权限问题public void loadApkClass(String apkPath, Context context) { //app路径下的文件夹名称 File dexOutputDir = context.getDir("dex", 0); //被加载的Class String className = "com.mz.testapk.TestClas原创 2017-01-13 15:15:10 · 1811 阅读 · 0 评论 -
BottomNavigationView使用
BottomNavigationView使用效果在最新的Support包中, 使用也较简单布局文件中添加<android.support.design.widget.BottomNavigationView android:id="@+id/bottomNavigationView" android:layout_width="match_par原创 2016-12-29 17:34:28 · 527 阅读 · 0 评论 -
Android部分手机自定义Dialog顶部有条蓝色的线问题
这个问题在很多手机上看不到,在一款三星的手机(手机型号记不住了..)上遇到过,这里记录下解决方法通常定义一个对话框都会修改其Style,如下,但这样在那一部三星的手机上顶部会有一条蓝色的线) <style name="BottomDialog" parent="AlertDialog.AppCompat"> <item name="android:windowIsFloating"原创 2017-07-04 10:36:51 · 4218 阅读 · 0 评论