GitOPEN's Home.

自定义Toolbar添加双击事件
前言今天在播放器中,突然想到了如果列表项过多,那么用户手指连续滑着回到顶部未免太累!类似微信朋友圈的双击TitleBar返回顶部,既然微信这超级App都实现了,那还等什么呢?动手做起来吧。我们这里是双击Toolbar返回顶部,不仅如此,其实在回调方法中可以做自己想做的事情。 预览图 SuperToolbar.java代码:12345678910111213141516171819202122232425262728293031323334353637383940414243public class SuperToolbar extends Toolbar implements TapLi...
自定义RecyclerView监听滑动到底部Bottom
前言最近在做一个本地的万能播放器,需要监听RecyclerView滑动到底部,向用户提示已经滑动到最底部;看了网上其他童鞋的写法,比较繁琐。现在给出我的实现方法,非常简单实用,在监听回调方法中,可以做很多想做的事情: 1.提示用户已经到达底部(Snack或者Toast); 2.可以加载更多(我最讨厌格外加一个item来显示加载更多,于是当到达底部后直接给Adapter添加数据就好); 3.可以额外再添加一个控件,来实现快速返回顶部(由你自己实现); 4.等等。。。。(只要你判断好了到达底部,就可以在底部做自己想干的事情)。 预览图 SuperRecycler.java代码:12...
Android M (API23) 中对权限的授权处理
前言Android M的发布,最重要的提升就是权限的控制,这么多年来Android App的权限滥用状况将逐步得到改善。 在API 23中,如果我们将compileSdkVersion和targetSdkVersion同时指定为23,而且我们没有显式的提醒用户去授予权限, 那么将导致App运行的崩溃。 因此,接下来,就写一个原生的PermissionsUtil工具类,来解决这个问题。 重要权限列表 另外,Android官方手册中也有描述,可以详细阅读:Permissions 效果 我喜欢用Gif动图来直观的展示效果! 函数 ActivityCompat.checkSelfPe...
《Monkey Android》第15课Spinner和AutoCompleteTextView
通过本节课可以学习到的内容: Spinner的用法 AutoCompleteTextView的用法 实例代码: 运行效果参见本课程示例App:安卓猴Demos github地址:https://github.com/opengit/MonkeyAndroid Spinner的用法Spinner,俗称下拉列表,它提供了一组固定的值或选项,允许用户从中选择一个作为默认的状态。 AutoCompleteTextView的用法AutoCompleteTextView,自动完成文本框,用户在输入时给予补全提醒。 效果图 Activity的源码12345678910111213141...
《Monkey Android》第14课ToggleButton和RatingBar
通过本节课可以学习到的内容: ToggleButton的用法 RatingBar的用法 实例代码: 运行效果参见本课程示例App:安卓猴Demos github地址:https://github.com/opengit/MonkeyAndroid ToggleButton的用法ToggleButton,状态开关按钮,例如ON/OFF,它允许用户在两者之间进行切换。Switch,开关,类似于生活中的白色墙壁开关。 RatingBar的用法RatingBar,它是SeekBar和ProgressBar的扩展,用星型来显示等级评定。 效果预览 Activity源码1234567...
《Monkey Android》第13课CheckBox和RadioButton
通过本节课可以学习到的内容: CheckBox的用法 RadioButton的用法 实例代码: 运行效果参见本课程示例App:安卓猴Demos github地址:https://github.com/opengit/MonkeyAndroid 效果图 CheckBox和RadioButton的用法CheckBox,复选框,它允许用户选择一个或者多个。RadioButton,单选按钮,只能选取一个选项。 xml文件源码: 一些用到的xml属性的含义已经在注释中给出。 12345678910111213141516171819202122232425262728293031...
《Monkey Android》第12课ImageView
通过本节课可以学习到的内容: ImageView的用法 ImageView的XML属性 实例代码: 运行效果参见本课程示例App:安卓猴Demos github地址:https://github.com/opengit/MonkeyAndroid ImageView的用法ImageView顾名思义,就是图片视图,用来显示静态图片。 12345678910111213141516171819202122<ImageView android:id="@+id/imageview_normal" android:layout_width="wrap_content" ...
《Monkey Android》第11课Button和ImageButton
通过本节课可以学习到的内容: Button的用法 Button的样式 ImageButton的用法 点击事件的写法(之前已经讲过,不知还会否?) 实例代码: 运行效果参见本课程示例App:安卓猴Demos github地址:https://github.com/opengit/MonkeyAndroid Button的用法 按钮,可以按下它,或者点击,由用户来执行一个动作或者操作。 Button的xml写法: 12345678910<Button android:id="@+id/btn_btn" android:layout_width="match_par...
《Monkey Android》第10课TextView和EditText
通过本节课可以学习到的内容: TextView的用法 EditText的用法 登陆框实例 实例代码: 运行效果参见本课程示例App:安卓猴Demos github地址:https://github.com/git0pen/MonkeyAndroid TextView的用法 顾名思义,TextView就是文字视图,即显示文字的控件。 TextView的xml写法: 123456789101112<TextView android:id="@+id/tv_login" android:layout_width="wrap_content" android:lay...
《Monkey Android》第9课Toast土司
通过本节课可以学习到的内容: Toast显示普通文本 Toast显示图片 Toast显示图片和文字 实例代码: 运行效果参见本课程示例App:安卓猴Demos github地址:https://github.com/git0pen/MonkeyAndroid Toast显示普通文本 简称土司,它用来在当前app的界面上弹出一个提示信息,并且会自动消失。 看下Toast到底怎么写: 12Toast.makeText(this, "我是短时间土司1号!我的显示时长是Toast.LENGTH_SHORT", Toast.LENGTH_SHORT).show();Toast.m...
《Monkey Android》第8课FrameLayout、GridLayout
通过本节课可以学习到的内容: FrameLayout的用法 GridLayout的用法 实例代码: 运行效果参见本课程示例App:安卓猴Demos github地址:https://github.com/git0pen/MonkeyAndroid FrameLayout 帧布局,在这种布局下,每个添加的子控件都被放在布局的左上角,并覆盖在前一个子控件的上层;此外,FrameLayout中的子控件的位置不能被指定。 GridLayout 自Android4.0版本(API level 14)后,新增的网格布局。 注意:如果要达到网格的效果,推荐使用LinearLayou...
《Monkey Android》第7课RelativeLayout、TableLayout
通过本节课可以学习到的内容: RelativeLayout以及它的相关属性 TableLayout以及它的特有属性 实例代码: 运行效果参见本课程示例App:安卓猴Demos github地址:https://github.com/git0pen/MonkeyAndroid RelativeLayout 顾名思义,RelativeLayout就是相对布局,置于其中的控件在摆放的时候需要相对于布局中的其它控件来摆放。 RelativeLayout相关属性 这些属性十分“众多”,因此大致了解即可,关键是在敲代码的过程中熟练运用。 — 属性 作用 第1组属性 ...
Gradle多渠道打包[umeng]
前言国内Android应用市场品种太多,血统不纯,每次上线App都打包打到手软,上传上到吐血!好在我们有了Android studio和gradle,一条命令打包各种渠道版本App! 正文Umeng多渠道我们在项目中会使用统计SDK,用的最流行的当属umeng了吧。这里我们就用友盟来说明。用了友盟的App的清单文件AndroidManifest.xml中都会写上meta-data,来区分不同的渠道: 123<meta-data android:name="UMENG_CHANNEL" android:value="Channel_ID" /> 1.将Channel...
Android >= 4.4 适配沉浸状态栏颜色
前言Google的Material Design的发布让Android具备了更多的个性化元素,例如,“沉浸式”状态栏。问题来了,那么在低版本Android上可以用吗? 其实,在Android >= 4.4的版本中,都可以进行“沉浸式”状态栏适配的,只不过效果不太一样,Android >= 5.0 版本中设置更加简单,Android >= 4.4 但 < 5就比较麻烦。 效果图: Android 5.0+实现方法参见文章:《Android L+ Theme 与 Toolbar 实例》 Android 4.4 实现方法1.使用开源库SystemBarTint 2.然后...
体验极速Android Sdk更新与下载
前言国内下载或者更新Android SDK的速度奇慢,福利来了,专门解决这个问题。 2015-09-07更新其他源部分网友反应,腾讯的Android SDK镜像不可用,再分享一个速度比较快的。 配置说明:东软信息学院开源镜像站 Android SDK 配置说明 2015-08-16更新腾讯Bugly Android SDk 镜像使用指南 腾讯Bugly Android SDk 镜像 地址 1.打开独立Android SDK 管理器,在Android Studio中打开**: 2.菜单依次打开Tools–>Manage Add-on Sites...–>User Defin...
编译Android5.1.1源码
前言编译Android源码是为了更好的学习源码,当然,如果要做第三方ROM适配,也可以尝试;我们这篇重点学习如下内容: 如何在Ubuntu下编译Android5.1.1源码; 导入Android Studio进行源码阅读。 今天你好吗配置编译环境1.需要Ubuntu 64bit,建议Ubuntu14.04 64-bit; 2.安装openJDK 7: 12$ sudo apt-get update$ sudo apt-get install openjdk-7-jdk 3.更新jDK环境变量: 12$ sudo update-alternatives --config java...