自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

u014611408的博客

技术小白

  • 博客(39)
  • 资源 (7)
  • 收藏
  • 关注

原创 Android给View设置margin值

1.如果该View的父控件为RelativeLayout,设置margin如下:ImageView image = (ImageView) findViewById(R.id.main_image);RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(image.getLayoutParams());lp.setMargins(50, 100, 0, 0);image.setLayoutParams(lp);如果

2020-08-19 17:36:48 2493

原创 Android TabLayout页签少占不满屏幕宽度的问题

针对TabLayout页签少,不填充屏幕宽度的问题,网上百度的答案,基本上均为:<android.support.design.widget.TabLayout android:id="@+id/tl_tab_layout" android:layout_width="match_parent" android:layout_height="72px" app:tabIndicatorHeight="0px" app

2020-08-19 17:22:22 979 1

原创 Android开发总结II

1.预览RecyclerView效果 假设item的布局为:item_layout 在RecyclerView里添加属性:<android.support.v7.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="250dp" android:layout_height="150dp" android:layout_gravity="center_horizontal" a...

2020-07-29 15:48:24 178

原创 Kotlin学习教程推荐

由于Google于2017年宣布Kotlin成为Android官方开发语言,因此趁空档学习了下,还是有不少收货,在网上找了些学习的教程感觉还不错,集中推荐给大家。1.Runoob上Kotlin 教程2.Kotlin语言开发和函数式编程3.Kotlin教程--史上最全面、最详细的学习教程,持续更新中......

2019-12-23 14:02:08 241

原创 Kotlin中DCL单例实现

class KLazilyDCLSingleton private constructor() : Serializable {//private constructor()构造器私有化 fun doSomething() { println("do some thing") } private fun readResolve(): Any {//防止...

2019-12-23 13:54:43 377

原创 Android自定义拍照拍视频

Android自定义拍照拍视频,其功能类似于Android设备自带的相机功能,能够进行前置、后置拍照、拍视频,并对照片和视频进行保存。参考如下:1.谷歌camera2的详细demo2.android camera2教程的详细介绍,共分为四个章节由于谷歌提供的demo,只是单纯的用后置摄像头进行拍照、拍视频,没有前置,因此基于谷歌的demo做了修改,使其能够进行前置后置拍照、拍视频,其他...

2019-12-13 18:40:05 582

原创 Android实现本地图片、视频左右镜像翻转

因项目预研需要,采用android camera2进行前置、后置摄像头拍照、拍视频,在用前置摄像头进行拍照时,照片预览是正的,保存本地照片也是正的,只不过照片里的内容进行了左右镜像,现在需要将照片里的内容再左右镜像回来,找了很多的方法,以下两种亲测可行:第一种:Bitmap oldMap = BitmapFactory.decodeFile(mFile.getAbsolutePath()...

2019-12-12 18:28:33 7342 1

原创 Android自定义dialog主题样式解析

在自定义dialog时,需要实例化dialog的主题样式,具体可以参考以前的博客。详细说明如下:<style name="dialog" parent="@android:style/Theme.Dialog"> <!--边框--> <item name="android:windowFrame">@null</i...

2019-10-30 16:36:58 1547

原创 Android中res下anim和animator文件夹区别与总结

1、anim文件夹anim文件夹下存放tween animation(补间动画)和frame animation(逐帧动画)逐帧动画: ①在animation-list中使用item定义动画的全部帧,并指定各帧的持续时间 ②将xml文件作为View控件的背景 ③AnimationDrawable animationDrawable = (AnimationDr...

2019-07-19 17:48:25 2612

原创 Android TextView背景颜色、文字颜色按压效果

TextView按压效果如下: 1.未点击时,字体颜色为黑色,背景为系统默认颜色; 2.点击时,字体颜色为绿色,背景为粉色。布局文件:res/layout/activity_main.xml<TextView android:layout_width="match_parent" android:layout...

2019-07-05 18:35:20 4199

原创 Android几个好用插件推荐

1.Android Parcelable code generatorJavaBean序列化,快速实现Parcelable接口。实现Parcelable就是为了进行序列化,那么,为什么要序列化?1)永久性保存对象,保存对象的字节序列到本地文件中;2)通过序列化对象在网络中传递对象;3)通过序列化在进程间传递对象。2.JsonOnlineViewer在Android St...

2019-05-31 16:37:27 2125 1

原创 Android相关知识记录

以下内容均为平时项目中用到的知识点,纯属个人记录,不喜勿喷~1、通信框架:Retrofit2 + Okhttp3 + Rxjava22、View的绑定工具:ButterKnife(插件Zelezny)3、权限处理:EasyPermissions,PermissionsDispatcher4、侧滑:SwipeLayout, 仿QQ侧滑菜单:RecyclerView侧滑菜单,长按拖拽,...

2019-04-01 14:38:39 157

原创 Android客户端阿里云MQTT签名鉴权模式的使用

项目需要,要实现Android端消息推送,预研了极光推送、阿里云MQTT,最终选择阿里云MQTT。具体实现步骤如下:1、添加依赖项:在项目根目录下的build.gradle中添加:repositories { maven { url "https://repo.eclipse.org/content/repositories/paho-releases/"...

2019-03-11 19:39:19 941

原创 Android平板获取设备唯一ID

Android平板获取设备唯一ID的方式有很多,但每种貌似都有其缺点,根据stackoverflow上的评论,最终还是选择ANDROID_ID作为其唯一ID使用,已达到项目需求。stackoverflow连接如下所示:Is there a unique Android device ID?import android.provider.Settings.Secure;privat...

2019-02-25 18:34:36 1834

原创 Android自定义带搜索图标及删除按钮的搜索框SearchEditText

最近项目需求要用到带删除按钮的搜索框,开始设计时搜索图标及提示文字是在左侧的,但是经讨论要求与IOS的UISearchBar风格一致即默认情况下,搜索图标和文字是居中的,在获取焦点时,图标及提示文字左移,输入搜索文字时,删除按钮右端显示,如下图所示:默认情况:获取焦点时:输入文字后:首先直接自定义SearchEditText:@SuppressLint("AppC...

2019-01-22 18:17:41 3054 5

原创 Android自定义Dialog没有按设置的宽度显示的问题

针对自定义Dialog对话框(可以参考之前的博客)没有按设置的宽度显示的问题,可以采用如下方式解决:Window window = dialog.getWindow();WindowManager.LayoutParams lp = window.getAttributes();//将宽度值dp转pxlp.width = context.getResources().getDimens...

2019-01-10 18:51:52 2548

原创 Android自定义WheelView滚轮,并在此基础上自定义日期选择器

项目需求,需要根据UI自定义日期选择器(Android自带的DatePicker极丑)。所以自定义了WheelView,并在此基础上自定义日期选择器。参考1.WheelView TimePicker CityPicker 滚轮(联动)选择器        2.使用第三方WheelView制作日期选择器        3.WheelPicker(推荐参考,功能强大)自定义Whee...

2018-12-19 19:16:15 1229 1

原创 Android自定义SideBar

SideBar类似于手机通讯录或者微信通讯录右侧的A~Z的字母导航。public class SideBar extends View {// public static String[] letter = { "A", "B", "C", "D", "E", "F", "G", "H", "I",//

2018-12-19 18:50:01 787

原创 Android Activity界面切换动画

最近做项目,发现Activity界面切换跳转时,切换动画不一致,有的左进右退,有的右进左退,有的左进左退,有的右进右退,视觉交互效果不是很好,通过查资料,采用以下方法可以解决。主要是通过AppTheme,直接在主题中修改activity动画样式,具体如下:1.定义包含动画的Activity主题&lt;!-- Base application theme. --&gt; &lt...

2018-12-19 18:29:11 2643 1

原创 Android隐藏状态栏和导航栏

public class BaseActivity extends AppCompatActivity { @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus &amp;&a...

2018-11-16 11:24:28 648

原创 Android解决Mediaplayer+SurfaceView播放视频中的若干BUG

项目的功能很简单,单纯的播放视频,没有进度条,暂停键等,只有一个关闭按钮,当播放视频时切换到后台暂停播放,恢复到前台后接着原来的进度播放。 1.用MediaPlayer播放视频,调用MediaPlayer.start(),surfaceHolder还没初始化好,debug时指示错误的地方在 MediaPlayer.setDisplay(surfa...

2018-11-16 10:49:06 4603

原创 Android之屏幕适配

        网上屏幕适配的方式有很多,比如按百分比的、按分辨率的,这里我是按最小宽度去适配,也是Google建议的方式。        1.首先下载屏幕适配插件ScreenMatch。        AS→File→Settings→plugins→SreenMatch下载即可。        2.在项目的任意目录或文件右键选择ScreenMatch,选module,生成一堆dim...

2018-11-07 10:18:09 231

原创 Android之RecyclerView的item点击变色,再次点击取消变色

        如题,点击item,item变色,并在item的上显示一个勾,再次点击item,item恢复原来的颜色,并且勾去掉。其实逻辑挺简单的,但当时想了很久,就记录下来了,毕竟小白一个。布局什么的就 不写了,很简单,主要是adapter的部分如下所示,其中List&lt;Boolean&gt; mAudioFileSelectedList初始值均为false。class AudioF...

2018-10-25 19:40:54 5961

原创 Android之Socket文件及消息传输

socket传输文件时,只能通过流去读取消息。当socket接收文件、消息等不同的数据时,如何区别是字符串还是流是很重要的。为了保证接收到的数据类型统一(数据是字符串还是流),需要定义协议。定义协议的方式有很多种:1.发送一个握手信号。 根据握手信号来确定发送的是字符串还是流2.定义了Header(头)和Body(实体),头是固定大小的,用来告诉接收者数据的格式、用途、长度等信息,接收者根...

2018-09-30 11:19:36 3714 1

原创 Android通过MediaStore获取音乐文件信息的方法

    Android系统提供了MediaScanner,MediaProvider,MediaStore等接口,并且提供了一套数据库表格,通过Content Provider的方式提供给用户。当手机开机或者有SD卡插拔等事件发生时,系统将会自动扫描SD卡和手机内存上的媒体文件,如audio,video,图片等,将相应的信息放到定义好的数据库表格中。在这个程序中,我们不需要关心如何去扫描手机中的文...

2018-09-15 10:41:03 835

原创 Android onTouchEvent事件传递机制以及关于performClick的Warning

1、OnTouchEvent事件传递机制/2、OnTouchEvent关于performClick的Warning事件由上而下传递返回值的规则如下:为true,则拦截,不继续向下传递,为false,则不拦截,继续向下传递。事件由下而上传递返回值的规则如下:为true,则处理了,不继续向上传递,为false,则不处理,继续向上传递。基于回调的事件处理机制,其核心就是事件的传播顺序,监...

2018-08-11 16:18:28 1127

原创 Android悬浮窗

因项目需求,要在界面显示悬浮摇杆,实现悬浮摇杆的操作如下:1.获取窗口管理WindowMangerWindowManager windowManager=(WindowManager)getApplication().getSystemService(Context.WINDOW_SERVICE);2.获取能够设置窗口的ParamWindowManager.LayoutPara...

2018-08-01 14:40:40 615 1

原创 Android自定义输入框

public class InputCustomDialog extends Dialog { public InputCustomDialog(Context context, int theme) { super(context, theme); } public InputCustomDialog(Context context) { ...

2018-07-03 15:17:09 1141

原创 Android自定义确认提示框

public class ConfirmCustomDialog extends Dialog { public ConfirmCustomDialog(Context context, int theme) { super(context, theme); } public ConfirmCustomDialog(Context context) {...

2018-07-03 15:15:29 710

原创 Android自定义列表选择框

public class ChoiceCustomDialog extends Dialog { public ChoiceCustomDialog(Context context, int theme) { super(context, theme); } public ChoiceCustomDialog(Context context) { ...

2018-07-03 15:12:31 1303

原创 Android通过onTouch点击添加标签,长按删除,按住拖动

    网上通过onTouch点击添加标签,按住拖动标签的方法都差不多,而长按删除标签很多都是采用在MotionEvent.ACTION_MOVE中判断是否有长按动作发生,但是这种方法在平板上实际操作的过程中交互性很差(可能个人能力的问题),所以长按删除采用了另外一种方式。        以下两种方式都提供了,供大家参考!public class PictureTagLayout extends ...

2018-07-03 15:04:46 1480 1

原创 Android状态栏、工具栏等背景色的修改

通过Style来修改状态栏、工具栏颜色等。1.设置colorPrimary, colorPrimaryDark两个颜色。&lt;stylename="AppTheme"parent="Theme.AppCompat.Light.NoActionBar"&gt; &lt;itemname="colorPrimary"&gt;@android:color/holo_blue_bright&l...

2018-05-03 18:18:16 1511

原创 Android中Fragment和Activity之间相互通信

Fragment和Activity之间通过接口的方式实现通信,主要是分别在onAttachFragment和onAttach方法中进行接口绑定1.Activity向Fragment发出通信Activity端:private OnMainListener mainListener; // 绑定接口 @Override public void onAttachFragment(...

2018-04-29 22:17:39 246

转载 Android应用坐标系全面详解

Android应用坐标系统全面详解 原文链接:CSDN@工匠若水,http://blog.csdn.net/yanbober/article/details/504191171. 背景去年有很多人私信告诉我让说说自定义控件,其实通观网络上的很多博客都在讲各种自定义控件,但是大多数都是授之以鱼,却很少有...

2018-04-21 15:16:38 681

原创 Android中Bitmap与Drawable、byte[ ]之间的转换

一、Drawable转换成Bitmap方法一:Drawable drawable = getResources().getDrawable(R.drawable.ic);BitmapDrawable bd = (BitmapDrawable) drawable;Bitmap bm= bd.getBitmap();方法二:Bitmap bmp = BitmapFactory.decodeReso...

2018-03-20 19:02:38 266

原创 Android让ImageView点击后换成另外一张图片

给ImageView设置点击监听,当点击了,换图片public class Test extends Activity { ImageView iv; boolean isChanged = false; @Override public void onCreate(Bundle savedInstanceState) { super.onCrea...

2018-03-13 18:37:37 25855 12

转载 Android中onTouch与onClick两种监听的完全解析

1、一个简单的测试 在布局中加一个很简单的view,然后给他设置一个OnTouchListener,根据onTouch函数返回值分别测一下结果 (1)全部返回falseView view = findViewById(R.id.id_view_test);view.setOnTouchListener(new View.OnTouchListener() { @Overr...

2018-03-12 19:57:14 208

转载 Android中获取控件宽和高的方法

第一种:直接获取getWidth()和getHeight()我们都知道这两个方法在onCreate()方法中得到的数据都是0;代码:mTextView = (TextView) findViewById(R.id.textview); mWidth = mTextView.getWidth(); mHeight = mTextView.getHeight(); Log.d(...

2018-03-12 19:31:39 598 1

转载 Android监听器实现的四种方式

1. 使用匿名内部类的方式实现监听事件使用方法:首先为要实现监听的对象绑定监听器,例如为一个Button对象绑定一个监听器botton.setOnClickListener();。然后在setOnClickListener()方法中定义一个OnClickListener的匿名内部类,然后重写内部类中的onClick方法。最后在onClick方法中实现监听事件要实现的逻辑即可。优点有:1.可以在当前...

2018-03-12 19:05:42 18462

获取CPU的序列号

获取CPU的序列号

2017-04-10

Hash加密算法

hash加密算法sha256

2017-04-10

RSA_OpenSSL

基于OpenSSL的RSA加解密算法

2017-04-10

Hash_OpenSSL

基于OpenSSL的sha256算法实现

2017-04-10

Client/Server通信

Qt下简单的客户端服务器端通信

2017-04-10

获取MAC地址

获取MAC地址

2017-04-10

获取硬盘序列号

获取硬盘序列号

2017-04-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除