Android
Android_小菜菜
不断的学习
展开
-
Fragment no longer exists for key f0: index 5 解决办法
一个Activity里面有个FragmentTabHost,有4个Fragment ABCD, B是里面是一个ViewPager,放的是Fragment报解决办法。内部ViewPager设置 mViewPager.setSaveEnabled(false);完美!!!原创 2021-05-17 18:33:22 · 1932 阅读 · 1 评论 -
Push failed: Failed with error: Could not read from remote repository.
Git提交项目到Github的时候Push失败。首先检查了ssh已经配置。使用Android Studio 一直就是Push不上去。然后尝试使用git命令却成功了。嘤嘤嘤。千辛万苦找了半天才找到是因为 SSH 使用了 Built-in方式将其修改为 Native 然后就搞定了。因为Github上边的SSH 配的是本地 C:\Users\zxb.ssh\id_rsa.pub ...原创 2019-03-29 17:35:37 · 1796 阅读 · 0 评论 -
一张图看懂Android SDK版本对应 API Level
原创 2019-02-23 11:44:33 · 954 阅读 · 0 评论 -
GridLayoutManager的 setSpanSizeLookup方法使用
RecyclerView 使用GridLayoutManager展示数据先扔代码<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xm...原创 2019-02-21 21:27:08 · 6433 阅读 · 0 评论 -
ScrollView嵌套滑动TextView冲突事件解决
TextView设置固定高度,当内容过长的时候则会显示不全。&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android&原创 2019-02-21 18:30:56 · 3033 阅读 · 0 评论 -
Android App启动页有白屏闪过问题解决
应用启动的时候有短暂的白屏,如图:可以通过设置theme的方式来解决 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">..原创 2019-02-19 20:50:55 · 781 阅读 · 0 评论 -
Android使用WebView与js互调
先看效果图。图中展示了 Android 调用 js中的方法 和 js 调用Android中的方法。布局代码 一个按钮,一个WebViewLinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"原创 2018-01-18 16:18:44 · 319 阅读 · 0 评论 -
Android TabLayout 使用
依赖 compile 'com.android.support:design:25.3.1'TabLayout属性app:tabMode="fixed" 固定app:tabMode="scrollable" 可滑动app:tabIndicatorColor 滚动下划线的颜色 app:tabSelectedTextColor tab选中后文原创 2018-01-09 20:36:26 · 689 阅读 · 0 评论 -
Android中TextInputLayout 使用
首先添加依赖:compile 'com.android.support:design:25.3.1'TextInputLayout继承了LinearLayout,包裹一个EditText。 .support.design.widget.TextInputLayout android:id="@+id/til_password" android:lay原创 2018-01-08 19:49:02 · 798 阅读 · 0 评论 -
Android 百分比布局
首先引入依赖: compile ‘com.android.support:percent:25.3.1’包中可用的布局为 PercentRelativeLayout 和 PercentFrameLayout 。 PercentRelativeLayout 继承自 RelativeLayout, PercentFrameLayout继承自 FrameLayout 。可用属性:layout_wi原创 2018-01-04 19:37:28 · 720 阅读 · 1 评论 -
Android 帧动画 补间动画 属性动画
Android 中动画分为三种: 1 帧动画 2 补间动画 3 属性动画1 帧动画 FrameAnimation先看图 常用的为xml资源文件方式 res/drawable下创建 animation.xml文件<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schem原创 2018-01-03 19:37:26 · 424 阅读 · 0 评论 -
ViewPager+RadioGroup实现仿微信主界面
话不多说,先上图,如图 效果,可以点击底部按钮选择页面,也可以滑动页面进行选择。那么我们下面就来实现一下吧。首先创建工程WXTest,主界面布局使用ViewPager+RadioGroup来实现,界面代码如下。<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com原创 2017-12-18 17:52:08 · 2762 阅读 · 0 评论 -
Android 获取照片位置信息
首先,需要读取手机本地的照片信息,可以借助ContentProvider读取本地媒体数据库来获得。 打开DDMS,在data/data/com.android.prividers.media/databases/external.db 将external.db导出到桌面查看,所有的媒体文件都存储在 files表中,打开如图: 由于我使用的是全新的模拟器,所以里边并没有媒体文件的信息。 可原创 2017-12-18 14:38:46 · 11774 阅读 · 3 评论 -
Android 退出登录功能
在Android应用开发中,会存在用户退出登录的功能,即退出登录之后销毁之前所有的Activity并跳转到登录界面,此时点击返回键就会退出该应用。下面只需要考虑如何销毁之前所有的Activity即可。 可以使用一个集合,在每一个Activity创建的时候将其添加到集合中。但是这样会比较麻烦,可以抽取一个BaseActivity出来,在onCreate()方法中进行添加,让其他Activity继承原创 2017-11-25 01:10:20 · 15018 阅读 · 3 评论 -
Android View 触摸事件传递
View的事件传递和工作中的分配任务类似。 比如说大领导有任务需要人完成,将其分配给了经理,然后经理将任务分发给了底下的员工,员工完成任务后向经理交付任务,最后经理再向领导汇报任务完成。整个过程就类似于事件的传递,我画了一张图来说明。下面我们就用自定义控件来验证一下。 先创建HighViewGroup(类似于领导),继承LinearLayout,并重写dispatchTouchEvent(),o原创 2017-11-10 02:22:21 · 399 阅读 · 0 评论 -
Android 突破64K方法数限制解决办法
随着应用的不断开发,Android 应用的大小也在增加。当应用及引用的库达到特定大小时,会碰到65536限制,造成构建错误。谷歌官方给了解决办法Android官网65536表示这个数字很重要,代表的是单个 Dalvik Executable (DEX) 字节码文件内的代码可调用的引用总数。解决办法:如果minSdkVersion 为 21 或更高值,只需在项目中的修改 build.gradle 文原创 2017-11-09 00:19:55 · 344 阅读 · 0 评论 -
Android 数据库SQLite更新升级问题
Android中数据持久化存储可以使用SQLite,常用的是SQLiteOpenHelper。这样就会引申出一些数据库升级的问题。比如,数据库V1版本中原始表中只有2个字段,在升级数据库V2版本中想要在表中多加1个字段。或者是 用户直接安装的是数据库V2版本,如何保证所有表中的字段是最新的?假设有数据库V1,数据库V2,数据库V3。存在2种安装情况,都要考虑到。 1,首先安装V1,依次升级原创 2017-11-03 14:06:33 · 2312 阅读 · 1 评论 -
Glide获取网络图片宽和高
glide 获取在线网络图片的宽和高。String url = "http://or4824vcd.bkt.clouddn.com/pexels-photo-236960.jpeg";Glide.with(getApplicationContext()) .load(url) .asBitmap()//原创 2017-10-30 21:39:49 · 6584 阅读 · 2 评论 -
ShareSDK 第三方登录 Android
在Android 应用中使用第三方登录是比较常见的,最常用的就是微信,qq,新浪微博。第三方登录就可以借助第三方的工具ShareSDK,下面是第三方登录集成ShareSDK的使用。(3.0.2版本)首先在 ShareSDK官网 下载SDK。然后根据 官方文档 来集成使用。打开所下载的 ShareSDK for Android 目录中的 QuickIntegrater.jar ,选择自己想要使用的平原创 2017-09-26 22:22:32 · 560 阅读 · 0 评论 -
Fragment通过OnActivityResult获取Activity返回数据
Activity A 获取 Activity B 的 返回数据直接使用startActivityForResult() 方法然后 重写 onActivityResult() 方法即可获取返回数据然而从Fragment 跳转 Activity B 并获取返回数据时 使用getActivity().startActivityForResult()方法 在onActivityResult() 方法原创 2017-09-19 16:38:02 · 2665 阅读 · 0 评论 -
shape画圆角矩形,渐变
shape 画圆角矩形这个用到了shape中的 corners 属性。<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:b原创 2017-08-18 20:27:08 · 2411 阅读 · 0 评论 -
禁止 EditText 自动获取焦点 弹出软键盘
禁止 EditText 自动获取焦点 弹出软键盘在EditText 的父空间中加上 android:focusable="true" android:focusableInTouchMode="true"表示父控件获取焦点,这样EditText就不能获取到焦点并弹出软键盘了。默认情况下,EditText 获取焦点后弹出软键盘布局会上移。在AndroidManifest 中设置该Ac原创 2017-08-04 18:27:02 · 720 阅读 · 0 评论 -
ViewPager的 setOffscreenPageLimit(0) 方法
大家都知道,viewpager是默认预加载下一页的界面的。viewpager提供了一个设置预加载页面数量的方法,那就是setOffscreenPageLimit()。默认不设置数量的情况下预加载下一页。设置0和1是同样的效果。不多说,上代码。布局为一个ViewPager<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:andr原创 2017-07-21 19:04:25 · 43042 阅读 · 3 评论 -
Toast报错
众所周知哦,Android在子线程中是不可以进行ui操作的。Toast也是不可以在子线程中使用的,不然会报如下错误。谨记!java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() at android.os.Handler.<init>(Ha原创 2017-06-03 11:10:08 · 2178 阅读 · 0 评论 -
Unable to add window -- token null is not for an application弹窗报错
在fragment中弹Dialog的时候报了这个错:提示application不可以添加到窗体。自己的代码是这样调用的:后来将getApplicationContext()改成了当前Activity,因为只有Activity才可以添加窗口。private ProgressDialog progressDialog; private void showDialog() {原创 2017-04-24 18:41:21 · 438 阅读 · 0 评论 -
java.lang.RuntimeException: Parcel: unable to marshal value
Parcel: unable to marshal value问题使用intent传递含有javaBean的集合数据的时候报如下的错。 原来是由于PhotoBean没有实现Serializable接口。 然后实现之后运行就不报错了。原创 2017-04-21 16:07:17 · 2343 阅读 · 0 评论 -
Android开发Bitmap加载大图
Android中使用Bitmap加载图片很容易造成OOM,所以要在加载的时候对其做相应的处理。Bitmap的压缩格式 ALPHA_8 表示8位Alpha位图,即A=8,一个像素点占用1个字节,它没有颜色,只有透明度ARGB_4444 表示16位ARGB位图,即A=4,R=4,G=4,B=4,一个像素点占4+4+4+4=16位,2个字节ARGB_8888 表示32位ARGB位图,即A=8原创 2016-08-02 10:06:14 · 2260 阅读 · 0 评论 -
Android开发之startService和bindService详解
Service(服务)在Android 中是在后台运行的。服务的运行不需要任何用户界面。 启动服务有两种方式,分别是startService和bindService。 下面我们就来介绍一下startService和bindService的用法和区别。startService创建一个工程ServiceTest,布局文件中添加两个按钮,一个开启服务,一个停止服务。<?xml version="1原创 2016-08-01 09:03:03 · 1121 阅读 · 0 评论 -
Android开发之调用相机拍照和调用系统相册
Android应用程序中调用相机进行拍照和选择相册中的照片是经常会使用到的,那么我们就来实现以下这个功能。首先创建一个工程CameraTest,布局文件一个ImageView,两个Button。<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/a原创 2016-07-30 09:05:42 · 7394 阅读 · 3 评论 -
Android开发通知栏Notification详解
Android通知栏在手机中是很常见的,如音乐,微信收到消息的通知等。下面我们就来讲解一下通知栏是如何创建的。 创建工程InformTest,布局文件很简单,就一个按钮。<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2016-07-29 08:58:21 · 1177 阅读 · 0 评论 -
Android数据库SQlite详解
Android 中为了我们方便地管理数据库,提供了一个 SQLiteOpenHelper 帮 助类,借助这个类就可以创建数据库。下面我们就介绍一下该类如何使用。首先创建一个工程sqlitetest,创建一个类MySQLiteOpenHelper去继承SQLiteOpenHelper,然后重写该类的构造函数和方法。如下:public class MySQLiteOpenHelper extend原创 2016-07-28 09:11:44 · 906 阅读 · 0 评论 -
Android开发BroadcastReceiver详解
Android 内置了很多系统级别的广播。 广播的注册方式有两种,一种是代码注册,另一种是在AndroidManifest.xml 中注册。当然,前者称为动态注册,后者称为静态注册。 下面我们就使用动态注册来了解一下的广播的注册和使用。创建一个工程BroadcastTest,在MainActivity中创建一个意图过滤器,指定监测网络状态的action。创建一个NetWorkReceiver类原创 2016-07-27 09:11:03 · 1436 阅读 · 0 评论 -
Android Fragment使用详解及生命周期
Fragment简单使用Fragment在Android是经常会使用到的,下面我们先用个简单的例子介绍它如何使用。首先,创建一个工程,叫做FragmentTest,然后创建一个left_fragment.xml文件,代码如下: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas原创 2016-07-26 11:08:05 · 921 阅读 · 0 评论 -
Activity启动模式
Activity启动模式一共有四种,分别是standard、singleTop、singleTask 和 singleInstance。启动模式可以在 AndroidManifest.xml 中通 过给<activity> 标签android:launchMode属性来配置,下面我们逐一来介绍。standardstandard 是Activity默认的启动模式,在没有进行指定的情况下,所有Acti原创 2016-07-23 17:56:32 · 434 阅读 · 0 评论 -
Android一键锁屏代码
锁屏小Demo由于手机关机键最近不好用了,所以就研究研究一键锁屏的小玩意。首先创建一个工程布局很简单,就一个button<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://sc原创 2016-07-22 14:33:21 · 9416 阅读 · 0 评论