6 放课后小朋友

尚未进行身份认证

我要认证

哔哩哔哩

等级
TA的排名 6w+

Android BottomSheetDialog横屏模式下布局显示不全/状态栏黑色

引入产品提了个常规需求,从底部弹框显示性别选择框,以前直接用原生AlertDialog或者自定义Dialog,这次想来个不一样的,查看开发文档发现BottomSheetDialog也可以实现,并且自带手势滑动和动画,于是开搞,实现效果如下。效果可以。由于产品需要适配横屏,顺手试了下横屏,然后傻眼了,效果如下。横屏状态下自定义的view没有显示全,需要手动上滑才能完全显示。习惯性点了下BottomSheetDialog源码,发现走onStart时BottomSheetBehavior把状态设置成ST

2020-05-31 12:40:44

Android通过反射调用获取内置存储和外置sd卡根路径(全版本适配)

model如下,功能一目了然:public class FileInfo { // id value in DB public long id; // true if file is a directory public boolean isDir; // true if file is hidden public boolean isHidden...

2019-03-25 18:55:57

AccessibilityService帮你实现Android全局悬浮窗

引入最近在做Android大屏,70寸全触摸,基于Android 5.0的AOSP开发(手动落伍=_=),屏蔽三大虚拟金刚键,所以需要在屏幕两边固定侧边栏代替虚拟键并实现开机自启.之前并没有开发过这种小工具,自然没啥经验,第一反应当然是去应用市场下载类似App体验一把,使用3个三方后发现它们都需要用户手动打开系统中的「无障碍」功能来模拟用户虚拟按键的点击事件,通过该突破口google一把,发...

2019-03-08 18:46:31

安卓8.0系统通知NotificationManager

开始从Android 8.0开始,使用系统通知Notification需要再设置下Channel,这就导致了版本兼容问题.为了解决这个,抽空写了个工具类,实现8.0系统上下都可实现正常通知功能.原型以今日头条为例,每次打开应用时,通知栏都会显示今天比较火的新闻,并且会显示一张隐藏的图片,具体效果如下2张:通知合并时通知展开时实现我觉得还是直接上代码比较好,没有使用m...

2018-11-14 15:14:46

AOSP源码Gallery2和Launcher3导入Android Studio

本文适用于有一定Android源码编译能力的开发者,对AOSP没有什么概念的同学可以参考涅槃1992发表的文章:自己动手编译Android源码(超详细),正如作者所说,超详细,也很简单.引入我之前一直从事App开发,换工作后公司正在研发一款类似百度小度的带屏智能硬件,所以需要定制Android系统.花了一个月熟悉Linux开发环境和Android8.1的源码结构后,我接下了相册Galler...

2018-10-17 16:17:36

5分钟适配Android P和Android 8.0刘海屏,可能全网最全总结

前言刘海屏兴起的原因就不说了,只能说17年是最差劲的一届智能机了,说多了都是泪。既然局面已经这样了,咱们就来聊聊怎么解决刘海屏带来的屏幕适配问题。Android上的刘海屏出现在8.0系统上,小米、华为、vivo、oppo、一加、锤子等都有自家刘海屏手机,但Google是在Android P上才对其进行了适配,那对于开发者,8.0的刘海屏手机怎么适配呢?Android P呢?不急,下面我会通俗易...

2018-08-27 14:34:38

Android Retrofit Http加密(无证书加密)

前提:本文基于Retrofit + okhttp(下面代码可以直接复制使用!)一、Retrofit常规使用如下:OkHttpClient okHttpClient =new Builder().readTimeout(READ_TIME_OUT, TimeUnit.SECONDS).connectTimeout(CONNECT_TIME_OUT, TimeUnit.SECONDS).c...

2018-06-08 11:13:23

Android WebSocket加密

前提:本文基于Java-WebSocket-1.3.4.jar需求:公司App中有个WebSocket长链接需要加密,但现阶段不需要CA证书,实现一下。Java-WebSocket.jar怎么使用,相信不用我多说了,不会的可以百度下,不难,下面主要讲下怎么无证书加密。下面是一个加密工具类SSLSocketFactoryUtil:第一张第二张引入的包使用方法:用WebSocketClient的对象调...

2018-06-08 11:10:01

Android AsyncTask介绍和一个简单的小例子

一、AsyncTask的优点:1、简单,快捷2、过程可控二、AsyncTask的缺点:1、在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来三、Handler的优点:1、结构清晰,功能定义明确2、对于多个后台任务时,简单,清晰四、Handler的缺点:在单个后台异步处理时,显得代码过多,结构过于复杂(相对性)五、介绍:

2017-11-23 23:29:44

Android7.0 popupwindow位置错误解决办法

作为一名开发,同时也是一名搞机人士,某天看到自家产品在Android7.0系统上面的popupwindow位置出毛病了,如下图:然后看网上说是系统级bug,那就自定义一个popupwindow所有版本通用,如下:import android.graphics.Rect;import android.os.Build;import android.view.View;im

2017-06-26 17:40:20

Android ListView使用convertView解决内存溢出问题(推介使用recyclerview,listview已过时)

比方说在加载各种图片的时候,listview不及时回收的话,可能会造成内存溢出,这个时候就是看getview方法的时候了。public View getView(int position, View convertView, ViewGroup parent) {            ViewHolder holder = null;      if(convertView

2015-12-22 14:27:19

Android ListView的回弹效果

使用动态布局实现该方法,重写ListView中的scroll方法可以实现该ListView的回弹效果:1、重写ListView中的方法:package com.isoftstone.pop;import android.annotation.SuppressLint;import android.content.Context;import android.util.Att

2015-12-21 14:22:11

Android ListView缓存对象

一、ListView列表控件每次滑动都会创建一个对象,那么为了复用缓存,可以使用ConverView参数,这样如果不想看到的item就会被回收,节省内存。二、convertView参数的功能怎么实现?convertView缓存对象,当滑动屏幕的时,子条目被隐藏,会被convertView给接受。三、convertView示例代码如下(主要看getView方法即可):im

2015-12-21 14:18:29

Android ListView分页显示简单模拟实现

下面是一段listview分页显示的实力代码,很简单模拟出来分批加载数据的listview内容。package com.notice.moredate;import java.util.ArrayList;import java.util.HashMap;import android.app.Activity;import android.os.Bund

2015-12-21 13:45:39

Android ListView动画(逐行显示动画效果)

1、如果想在ListView中item条目出现时显示动画效果,那么可以使用系统的,或者是自定义的都可以,下面就是一个使用自定义动画的ListView动画演示:        android:id="@android:id/list"        android:layout_width="fill_parent"        android:layout_height=

2015-12-21 11:57:39

Android ListView的性能优化(ViewHolder和HashMap)

一、对于ListView的优化,一般步骤如下:1、复用convertView:首先讲下ListView的原理:ListView中的每一个Item显示都需要Adapter调用一次getView的方法,这个方法会传入一个convertView的参数,返回的View就是这个Item显示的View。如果当Item的数量足够大,再为每一个Item都创建一个View对象,必将占用很多内存,创建View

2015-12-21 11:50:14

ListView的点击事件、长按事件监听

一、点击事件 list.setOnItemClickListener(new OnItemClickListener() { @Overridepublic void onItemClick(AdapterView arg0, View arg1, int position, long id) { //do something? } }); 

2015-12-21 11:38:01

ListView+BaseAdapter的使用方法

一、概念:listview就是一种逐行显示内容的控件,listview是遵循MVC设计模式的,二、经验:比方说textview空间中有显示内容的属性setText,那么listview控件想要显示自己的内容,也会相应的有显示内容的属性,这个属性就是“适配器”adapter,使用lv.setAdapter(adapter)设置显示内容,adapter是一个接口,实现该接口的需要复写的

2015-12-21 11:32:38

ListActivity的使用方法

一般的activity都会在java文件中引入相对应的xml布局文件。但是在“比方说系统设置界面,黑色的那种类似于listview的界面”,可以使用ListActivity这个类来实现,当然因为相对应的显示界面一般只有textview文字内容,所以需要定义一个关于textview的item的xml文件布局。然后将设置相应的adapter,将实现定义的String[]数组内容放进去,下面将会

2015-12-21 10:10:36

Android JSON解析(JSONObject和JSONArray)

package com.example.tt;import java.util.HashMap;import java.util.Map;import org.json.JSONException;import org.json.JSONObject;import android.app.Activity;import android.os.Bund

2015-12-18 17:51:01

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。