- 博客(22)
- 收藏
- 关注
原创 跳转第三方App或网页进行导航
/** * Created by zhq_zhao on 2017/5/5. * 注意百度不需要起始位置的经纬度,而高德需要起始位置的经纬度 * 使用第三方导航:高德、百度。。。。。。。。。。 */public class AmapUtil { private static AmapUtil mAmapUtil; private LocationManager loc...
2019-03-15 10:51:28
3007
原创 图片压缩
/** * 压缩到 256kb * * @param bitmap * @return */private Bitmap ImageCompressL(Bitmap bitmap) { double targetwidth = Math.sqrt(256 * 1024); if (bitmap.getWidth() > targetwidth || bitmap...
2019-01-15 11:04:02
233
原创 tablayout下划线宽度
/** * 设置tab下划线宽度 * @param tabLayout */public void reflex(final TabLayout tabLayout){ //了解源码得知 线的宽度是根据 tabView的宽度来设置的 tabLayout.post(new Runnable() { @Override public void...
2018-10-23 15:14:09
579
原创 隐藏软键盘
<EditText android:id="@+id/ed_search" android:layout_width="0dp" android:layout_height="match_parent" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" an..
2018-10-16 20:08:19
636
原创 VirtualLayout
1.初始化布局管理器VirtualLayoutManager layoutManager = new VirtualLayoutManager(this);recyclerView.setLayoutManager(layoutManager); 2.添加数据,设置适配器 DelegateAdapter delegateAdapter = new Delegate...
2018-10-15 09:50:19
547
原创 饺子播放器解决视频黑边
//黑边问题,视频两边的黑边难以去除,我直接用饺子播放器,饺子播放器能够解决黑边。//第一步 导入依赖:implementation 'com.github.bumptech.glide:glide:3.7.0'//根据自己的喜好,使用图片加载框架implementation 'cn.jzvd:jiaozivideoplayer:6.2.4' //第二步 布局:<c...
2018-08-30 11:45:16
4457
1
原创 6.0,7.0,8.0获取相机权限
// 权限@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR2) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(...
2018-08-25 01:34:46
1476
原创 反射
获取类:public static <T>T getT(Object o,int i){ ParameterizedType parameterizedType = (ParameterizedType) o.getClass().getGenericSuperclass(); Type type = parameterizedType.getActualType...
2018-08-22 12:55:37
257
原创 沉浸式状态栏
快速实现:compile 'com.githang:status-bar-compat:latest.integration'StatusBarCompat.setStatusBarColor(this, color, lightStatusBar);3.0(API 11)getWindow().addFlags(WindowManager.LayoutParams.FLAG_FU...
2018-08-21 16:56:01
671
原创 Fragment预防预加载
public abstract class BaseFragment<P extends BasePresenter,M extends BaseModel> extends Fragment { /** * 视图是否已经初初始化 */ public Activity mActivity; public P mPresenter; ...
2018-08-20 17:30:07
736
原创 TMvp使用
//工具类public static <T>T getT(Object o,int i){ ParameterizedType parameterizedType = (ParameterizedType) o.getClass().getGenericSuperclass(); Type type = parameterizedType.getActualT...
2018-08-20 17:26:41
674
原创 添加Fragment
private BaseFragment lastFragment;private FragmentManager manager;public void addFragment(Class<? extends BaseFragment> fragment, int id) { manager = getSupportFragmentManager(); ...
2018-08-20 17:18:57
245
原创 Android 三级缓存(网络+LruCache(原理分析)+DeskLruCache)
什么是三级缓存网络缓存, 不优先加载, 速度慢,浪费流量 本地缓存, 次优先加载, 速度快 内存缓存, 优先加载, 速度最快为什么要使用三级缓存如今的 Android App 经常会需要网络交互,通过网络获取图片是再正常不过的事了 假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量。在当前的状况下,对于非wifi用户来说,流量还是很贵的,一个很耗流量的应用,其用户数量级肯定...
2018-08-03 20:05:08
273
原创 android dialog —— 日期和时间选择对话框
日期和时间选择对话框,首先是要获得当前时间,这里用 java类中的Calendar来获得日期和时间(也可以用Date,但是不提倡,Date部分方法已经注释为过时), Calendar是一个抽象类,是通过getInstance()来获得实例日期和时间选择对话框无需在像前面一样借组与AlertDialog.Builder来作为内容的载体,有直接的Dialog,其实源码里面已经包括了Builder。...
2018-07-27 00:09:53
5504
原创 android 使用第三方库实现三级联动城市选择器
先看效果图:这个第三方库使用起来非常方便,首先IDE必须是android studio,因为需要gradle引入资源在build.gradle里面添加compile 'liji.library.dev:citypickerview:1.1.0'然后在初始化的时候调用方法public void initCityPicker(){ cityPicker = n...
2018-07-27 00:05:00
1981
原创 android 轮播图Banner的使用详情
1.依赖bannerGradledependencies{ compile 'com.youth.banner:banner:1.4.9' //最新版本}2.添加权限到你的 AndroidManifest.xml<uses-permission android:name="android.permission.INTERNET" /><us...
2018-07-26 11:34:08
727
转载 仿淘宝商品详情页TabLayout+ListView
有点好玩的跟大家分享一下项目对商品详情页改版有新需求。顶部是一个渐变的Title包括“宝贝”,“详情”,“推荐”三个文本,下边是一个竖向滑动的列表显示商品详情和推荐商品。要求两部分关联起来,也就是点横向的文本下边的列表能滑动到相应item,相反亦然。 自然而然我就想到了 TabLayout + ListView实现(RecyclerView原理都是一样的)2).添加tabLayout监听...
2018-07-26 11:14:41
2148
8
原创 android 使用BottomTabBar实现底部导航页
哈哈,最近又找见了一个新的控件,BottomTabBar使用起来也是非常的方便以前写底部导航页的时候要么使用,RadioGroup+RadioButton+getSupportFragmentManager(),或者是tabLayou+ViewPager,相比BottomTabBar+getSupportFragmentManager()比起来我更喜欢用这个使用流程:1.导入依赖...
2018-07-24 15:04:16
577
原创 android 文字转语音进行播报
首先呢有几种集成的方法,比如第三方讯飞,Medplay,androd自带的TextToSpeech...我使用的是第三种安卓自带的,使用起来非常的简单1.直接导入android.speech.tts.TextToSpeech//定义一个tts对象private TextToSpeech tts;2.自定义类实现OnLnitListener接口重写onInit方法onInit...
2018-07-24 14:33:34
6005
原创 android 通讯录好友排序+字母索引
1.首先自定义TextView继承TextView2.重写onTuchEvent方法,对txtview的状态进行判断3.自定义接口回调,在onTuchevet事件里边对我们的接口方法进行赋值4.汉语转拼音工具类,有两种方法:使用第三方pinyin4j的jar包。下载地址 , Android Studio也可直接依赖 compile 'com.belerweb:pinyin4j...
2018-07-22 19:47:54
1205
2
原创 android 自定义listview实现头部试图放大缩小
1.首先自定义类继承listview重写构造方法,和overScrollBy()方法2.提供一个公共的方法用于获取子view的高度,添加全局监听方法getViewTreeObserver().addOnGlobalLayoutListener()用于获取子view的高度,只获取一getViewTreeObserver().removeOnGlobalLayoutListener(t...
2018-07-21 11:47:28
551
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人