★Android基础★
文章平均质量分 63
Seachal
记录学习Java、Kotlin 、Android、 Dart 、Flutter、 算法 、数据结构、 设计模式,持续更新,欢迎留言、关注
展开
-
自定义控件三部曲之绘图篇(七)——Paint之函数大汇总
经过前几篇,我们基本把paint和canvas的基本用法就看完了,今天我们来个大汇总,列举一个paint的所有函数,然后一个一个的过。经过这几篇,你将能学会paint中所有处理函数的用法。一、基本用法1、概述我们先来看一下paint中基本设置的函数都有哪些: reset() 重置画笔 setColor(int color) 给画笔设置颜色值 setARG转载 2017-12-10 21:43:38 · 594 阅读 · 0 评论 -
android 关于listview item设置高度的问题解决方法
来自:http://blog.csdn.net/coderinchina/article/details/50670505关于listview,做andriod开发都必须知道的,我写了一个简单的adapter,在这不考虑什么缓存机制就单单为了显示一下而已:public class MainActivity extends Activity { private sta转载 2017-09-24 22:51:13 · 761 阅读 · 1 评论 -
三个案例带你看懂LayoutInflater中inflate方法两个参数和三个参数的区别
转载自:http://blog.csdn.net/u012702547/article/details/52628453关于inflate参数问题,我想很多人多多少少都了解一点,网上也有很多关于这方面介绍的文章,但是枯燥的理论或者翻译让很多小伙伴看完之后还是一脸懵逼,so,我今天想通过三个案例来让小伙伴彻底的搞清楚这个东东。本篇博客我们不讲源码,只看使用。源码的解读会在下一篇博文中带来转载 2017-09-24 10:27:31 · 445 阅读 · 1 评论 -
Android TextView设置值时,使一个字符串有不同颜色(多种颜色)
最近遇到一个需求需要实现如下效果:在网上查了一些资料,记录过程首先这个字符串是一个拼接字符串,后面数字是动态的:%2$s价值客户 %3$s扩面客户]]>在网上找了下,有很多种方法,但需要考虑到实际情况,有一种说截取字符串长度,然后根据下标控制比如:0-3位红色,4-6位绿色,但我的项目第一个字符串(%1$s )的长度不固定,所以这种方式不可以,于原创 2017-09-06 19:03:32 · 2561 阅读 · 1 评论 -
Gradle命令和配置
来源:http://blog.csdn.net/heqiangflytosky/article/details/50853268Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言,建议可以先熟悉一下Groovy脚本。 在线文档Gradle命令:常用命令:gradle明明一般是./gradlew +转载 2017-09-06 18:42:15 · 2888 阅读 · 1 评论 -
android中string.xml中%1$s、%1$d等的用法
来源:http://blog.csdn.net/xiaoyaovsxin/article/details/8450056一、使用xliff的用法:标签介绍: 属性id可以随便命名 属性值举例说明%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 %n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,转载 2017-09-06 16:29:06 · 522 阅读 · 1 评论 -
android中string.xml中%1$s、%1$d等的用法
来源:http://blog.csdn.net/xiaoyaovsxin/article/details/8450056一、使用xliff的用法:标签介绍: 属性id可以随便命名 属性值举例说明%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 %n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,转载 2017-09-06 16:27:00 · 428 阅读 · 1 评论 -
Andriod开发技巧——Fragment的懒加载
来源:http://blog.csdn.net/maosidiaoxian/article/details/38300627我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个fragment都需要去加载数据,或从本地加载,或从网络加载,那么在这个activity刚创建的时候就变成需要初始化大量资源。这样的转载 2017-09-06 15:06:09 · 301 阅读 · 1 评论 -
app目录下的build.gradle详解
// 表示这是一个Android程序模块,如果是作为库,就声明为Library'com.android.library'apply plugin: 'com.android.application'android { compileSdkVersion 26 // 编译版本,指用哪个版本的SDK进行编译 buildToolsVersion "26.0.1" //构建工具原创 2017-09-01 10:59:04 · 4432 阅读 · 0 评论 -
Android Studio 打包时 Signature Version V1 V2
前几天更新了一下Android Studio ,今天在打正式包的时候发现多了个签名版本选择:从图中可以看到多了签名版本的选择,因为刚开始默认勾选的v2(Full APK Signature),没多想一路下一步下去,结果在测试机上(5.0.1)一直都安装失败,想着和那个选择签名版本有关系,那就查查吧。问题描述(v1和v2)android 7.0中引入了APK Sign转载 2017-08-25 17:26:29 · 550 阅读 · 0 评论 -
如何在 Github 上发现优秀的开源项目?
来源:http://www.oschina.net/news/75674/how-to-find-good-opensource-object之前发过一系列有关 GitHub 的文章,有同学问了,GitHub 我大概了解了,Git 也差不多会使用了,但是还是搞不清 GitHub 如何帮助我的工作,怎么提升我的工作效率?问到点子上了,GitHub 其中一个最重要的作用就是发现全世转载 2017-09-02 11:28:08 · 2039 阅读 · 1 评论 -
解决Mac上adb: command not found问题
使用mac进行开发的时候,有时候需要使用adb指令来进行一些操作,但是如果没有配置过Android环境变量,可能会出现adb: command not found的问题,查了一些资料,这里记录一下mac上配置Android环境变量的方法:打开mac的terminal终端,输入 cd ~/ 【进入当前用户的home目录】输入 touch .bash_profile 【如果没有.bash_pr原创 2017-10-30 13:49:33 · 549 阅读 · 0 评论 -
关于android.support.v7.internal.widget.ActionBarOverlayLayout问题的解决
Android Studio不能预览布局了,提示:原预览区显示:android.support.v7.internal.widget.ActionBarOverlayLayout解决方法:打开values/目录下styles.xml文件;把:修改为: 即在前面添加一个Base,问题即可解决原创 2017-11-30 16:48:06 · 960 阅读 · 0 评论 -
Genymotion 下载镜像速度慢的解决办法
1.找到genymotion.log文件 具体的链接在哪里,找到此路径文件:C:\Users\用户目录\AppData\Local\Genymobile\genymotion.log。 mac用户:/Users/用户目录/.Genymobile 或者用快捷键“Win+R”打开“运行”–> 输入“%appdata%”回车,快速打开用户本地文件目录 –> 返回上一级目录,或者使用快捷键“Al原创 2017-11-30 14:53:53 · 952 阅读 · 0 评论 -
android弹出popupwindow时使下层页面变灰色
点击弹出popupwindow代码:[java] view plain copyfindViewById(R.id.btn).setOnClickListener(new OnClickListener() { @Override public void on原创 2017-12-08 14:22:47 · 2854 阅读 · 0 评论 -
Android开发:LayoutParams的用法
LayoutParams继承于Android.View.ViewGroup.LayoutParams. LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉Layout用户期望的布局方式,也就是将一个认可的layoutParams传递进去转载 2017-12-08 14:03:13 · 596 阅读 · 0 评论 -
Android获取屏幕宽度的4种方法
方法一: WindowManager wm = (WindowManager) this .getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDisplay().getHeight();原创 2017-12-08 13:55:39 · 2176 阅读 · 0 评论 -
Android设置Genymotion 运行ARM架构程序
Genymotion 在Android5.x上运行ARM架构程序原生的Genymotion模拟器只支持x86架构,很多使用了.so文件的应用不支持x86架构,因此无法运行。如果想要运行,必须安装ARM转换包。本文提供Genymotion-ARM-Translation、Genymotion-ARM-Translation_v1.1、ARM_Translation_Lollipop的原创 2017-11-30 13:41:58 · 5665 阅读 · 2 评论 -
关于Android strings.xml-你应该了解的几个原则
来自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2017/0303/7179.html英文原文:Android strings.xml — things to remember。 不要试图重用不同的页面不要重用一个string。假设你的登录和注册页面都有一个加载对话框。因为都有加载界面转载 2017-11-06 16:24:08 · 1416 阅读 · 0 评论 -
Bug:[Android Pro] java.lang.IllegalStateException: Fragment(XXFragment) not attached to Activity异常
private void showConfirmOperateDialog() { ConfirmDialog dialog = new ConfirmDialog(getActivity(), R.string.confirm_no_save_operation) { @Override protected void onPositiveClick()原创 2017-10-26 19:52:46 · 2402 阅读 · 1 评论 -
Android Studio2.0 教程从入门到精通MAC版 - 安装篇
来自:http://www.open-open.com/lib/view/open1466430392743.html前言这个教程你将学会如何使用Android Studio2.0开发Android应用,从安装到开发Hello World都是采用图文并茂的方式讲解的,希望对你学习Android Studio开发有所帮助,不明白的地方或有错误的地方希望大家批评指正。你转载 2017-10-26 18:57:36 · 708 阅读 · 1 评论 -
最强 Android Studio 使用小技巧和快捷键
来自:http://www.open-open.com/lib/view/open1458715872710.html写在前面本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键。 根据这些小技巧的使用场景,本文将这62个小技巧分为常用技巧(1 – 28)、编码技巧(29转载 2017-10-26 18:51:55 · 549 阅读 · 1 评论 -
Android : 隐藏软键盘
如果界面中包含 EditText,在界面启动后,总是会弹出软键盘,即使在 EditText 已经设置 setEnabled(false) 也不能隐藏。也尝试使用 InputMethodManager 隐藏软键盘,都失败了。调用 InputMethodManager 显示隐藏软键盘的方法:InputMethodManager imm = (InputMethodManager) getS原创 2017-10-26 18:10:50 · 623 阅读 · 1 评论 -
Android横竖屏切换小结(重建、非重建Activity)
来自:http://www.cnblogs.com/franksunny/p/3714442.html(老样子,图片啥的详细文档,可以下载后观看 http://files.cnblogs.com/franksunny/635350788930000000.pdf)Android手机或平板都会存在横竖屏切换的功能,通常是由物理重力感应触发的,但是有时候也不尽然,通常在设置里面我们转载 2017-11-10 14:46:09 · 2249 阅读 · 0 评论 -
EditText输入变化监听事件
1.edittext输入时的监听 etPriceBegin.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before,原创 2017-11-08 16:55:45 · 6423 阅读 · 0 评论 -
Android Studio用release模式进行调试
有时候调试SDK必须要用release版本,但是每次打包混淆太麻烦,希望能在IDE中直接跑出release版本的应用,简单来说就是在debug模式下产生release版本的app,这时候该怎么做呢?当我们使用AndroidStudio的Gradle之后会很简单的解决这个问题。1.我们把签名文件放到工程根目录下(这样做是为了保持路径的统一)2.在Gradle中引入如下代码:原创 2017-10-13 14:21:19 · 7842 阅读 · 1 评论 -
Android自定义控件(一) 自定义组合控件
转载自:http://blog.csdn.net/smartbetter/article/details/50642730 侵删为了能让代码能够更多的复用,故使用自定义组合控件。下面是一个"提示更新"自定义组合控件的实现。一、应用场景(提高代码复用)二、代码实现(以“提示更新自定义组合控件”为例)1.创建一个java类SettingView转载 2017-07-09 22:13:08 · 677 阅读 · 0 评论 -
怎样将自己的工程改造成库,并上传到Github作为依赖
转载自: http://blog.csdn.net/hmh0512/article/details/53818058 侵删在Eclipse时代,也许你会在工程中依赖本地的另一个工程,或者把一个工程打成jar包并引入到另一个工程,又或者你公司的后台架构师会把通用的代码(比如bean)打成jar包后放到中央仓库,然后需要使用时配置Maven的pom.xml文件把它拿下来。这一切在Andro转载 2017-06-20 22:00:38 · 1250 阅读 · 0 评论 -
android中xml tools属性详解
第一部分安卓开发中,在写布局代码的时候,ide可以看到布局的预览效果。但是有些效果则必须在运行之后才能看见,比如这种情况:TextView在xml中没有设置任何字符,而是在activity中设置了text。因此为了在ide中预览效果,你必须在xml中为TextView控件设置android:text属性 TextViewandroid:id="@+id/text_m转载 2016-07-16 13:47:08 · 844 阅读 · 1 评论 -
andoird Xml解析XmlPullParser 的使用
1、基本原理:常用的有:XmlPullParser.END_DOCUMENTXmlPullParser.START_DOCUMENTXmlPullParser.START_TAGXmlPullParser.END_TAGXmlPullParser.TEXT 分别代表着XML文档的结束,开始,标签的开始,标签的结束,内容 按照以上的格式依次进行解析即可。2原创 2016-07-12 21:32:56 · 2586 阅读 · 0 评论 -
Java关键字 this (this.实例成员;this()),以及Android中内部类中的中的this(*.this,ClassName.this)
关键字this用于指代当前的对象。因此,类内部可以使用this作为前缀引用实例成员;this()代表了调用另一个构造函数,至于调用哪个构造函数根据参数表确定。this()调用只能出现在构造函数的第一行。 当在内部类中使用关键字this,指的就是内部类的对象, 为了访问外层类对象,就可以使用外层类名.this来访问,一般也只在这种情况下使用这种 示例代码:原创 2016-05-05 22:56:45 · 3787 阅读 · 0 评论 -
xmlns:android="http://schemas.android.com/apk/res/android"的意思
Android开发中,使用XML时,看到xmlns:android="http://schemas.android.com/apk/res/android",但是却不明白这段代码的作用。查阅资料后整理如下:一: xmlns是XML Namespaces的缩写,中文名称是XML命名空间。 schemas是xml文档的两种约束文件其中的一种,规定了xml中有哪些元素原创 2016-07-09 23:30:11 · 12736 阅读 · 0 评论 -
xmlns:android作用以及自定义布局属性
要定制Android layout 中的 attributes关键是要明白android中命名空间定义如:xmlns:android="http://schemas.android.com/apk/res/android以RingtonePreference为例:<PreferenceScreen xmlns:android="http://schemas.android.原创 2016-07-09 22:39:43 · 1851 阅读 · 0 评论 -
国内优秀的Android资源
因为一些大家都知道的原因,Android很多官方出品的优秀开发资源在国内无法访问。国内的同行们对此也做出了很多努力,有很多朋友通过各种手段把很多优秀的资源搬运到了国内,为国内android开发者提供了巨大方便。那么现在有哪些优秀的android官方资源在国内是可以获取的呢,本文仅列出本人知道的一些,跟大家分享。一、开发工具开发android第一步就是安装开发工具SDK,国内有一些机原创 2016-06-08 13:11:08 · 1155 阅读 · 0 评论 -
什么是微信公众号开发
微信公众号分为订阅号和服务号。1、订阅号,每天群发一条信息,认证后有自定义菜单。没有高级接口,不能用开发模式。2、选择服务号,申请后自带自定义菜单。认证后可以有高级接口,每周群发一条信息。均不可主动添加微信好友。3、企业号注:订阅号、服务号在通讯录里被归类,用户可以去订阅号的列表中找到已关注订阅号推送的信息,但是不会主动在列表中提醒有新消息,需要用户自己去看。服务号转载 2016-05-08 13:02:01 · 2291 阅读 · 0 评论 -
微信公众号开发教程
开发和调试之殇微信公众号的开发,说简单也简单,说麻烦也麻烦,麻烦的不是开发过程,而是搭建开发环境的过程。不过俗话说得好,磨刀不误砍柴工,我们有必要花点时间来研究下如何攻破微信公众号的开发环。说白了,公众号的开发就是基于HTML/CSS/JS的移动端Web App的开发,但微信公众号和普通的移动Web App开发还略有不同,因为很多情况下我们会调用公众号的接口,而只要涉及微信接口的请求,转载 2016-05-08 12:58:50 · 10151 阅读 · 0 评论 -
Genymotion,高性能的 Android 模拟器
随着 Android 系统的应用和游戏越来越丰富,甚至有些比起Windows、Mac上的软件更加好用好玩,因此很多人都希望能在电脑上也能玩到安卓的游戏或APP。我们曾推荐过 BlueStacks,而 Genymotion 则是另一款更加优秀专业高性能的安卓 Android 模拟器!它支持 Windows、Mac、Linux,由于其模拟运行速度很快画面流畅、且支持 OpenGL 3D转载 2016-05-17 21:52:07 · 1745 阅读 · 0 评论 -
第三方Android 模拟器流畅速度快,适合开发人员
“工欲善其事,必先利其器。” 使用Android模拟器开发和调试应用肯定比使用真机方便。但相比XCODE的IOS模拟器,Android SDK自带的AVD实在不争气,不过一些第三方的模拟器却表现不俗!12年我开始接触Android开发时候,手头上甚至连一部低端的Android手机都没有,那时候用的是Android SDK自带的AVD模拟器,相信任何Android开发者都对这货深恶痛绝。一直以来原创 2016-05-17 21:20:29 · 12946 阅读 · 0 评论 -
Windows环境下Android Studio v1.0安装教程
Windows环境下Android Studio v1.0安装教程准备工具JDK安装包。要求:JDK 7以及以上版本。Android Studio安装文件。Windows:exe(包含SDK) (813 MB)exe(不包含SDK) (250 MB)zip (235 MB)Macdmg (234 MB)zip (233 MB)Linux:zip (2原创 2015-10-21 09:54:41 · 983 阅读 · 1 评论 -
Android常见的按钮监听器实现方式
为按钮(Button)添加响应事件,需要为其设置监听器(Listener)。本文总结了Android中常用的几种Button Listener。第一种:匿名内部类作为事件监听器类123456Button button = (Button)findViewById(R.id.button);//通过资源内部ID为button的资源来原创 2015-10-21 09:54:44 · 1223 阅读 · 1 评论