【Android 基础】
文章平均质量分 70
Angelica0520
Android、Java、Kotlin、Flutter、HarmonyOS、Python等技术
展开
-
Android 编译错误记录
android 编译器 (1.8.0_212) 中出现异常错误:编译器 (1.8.0_121) 中出现异常错误。如果在 Bug Database (http://bugs.java.com) 中没有找到该错误, 请通过 Java Bug 报告页 (http://bugreport.java.com) 建立该 Java 编译器 Bug。请在报告中附上您的程序和以下诊断信息。谢谢。java.lang.AssertionError: annotationType(): unrecognized Attribu原创 2022-04-21 11:10:28 · 1125 阅读 · 0 评论 -
Android 编译错误记录
记录下在开发过程中遇到的一个问题一、问题描述 build项目时报错:Could not find SevenZip-osx-aarch_64.exe (com.tencent.mm:SevenZip:1.2.19).二、解决方案1.可以把use7zip =false2.删除sevenzip原创 2022-03-11 17:39:11 · 4998 阅读 · 0 评论 -
Android Studio 可以正常编译但是代码爆红解决方法
这两天配置Flutter环境,然后不知道设置了什么,Android Studio的代码爆红,但是代码可以正常编译。吓得我赶紧rebuild一下,想看看是不是哪儿的代码被我误删了,结果rebuild啥问题都没有,但是代码依旧爆红。在尝试了clean、rebuild,invalidate cache / restart之后,依然还是爆红。最终在stackoverflow上找到了相同的问题,解决方法...原创 2020-02-14 18:23:51 · 2316 阅读 · 3 评论 -
Android字符串+数字变量方法之%1$s、%1$d的用法
(1)%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格(2)%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 (3)%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.001.整型 比如:“他今年XX岁了”,这个具体XX岁可能需要从服务端取的,那我们可以...转载 2018-05-28 17:01:03 · 5692 阅读 · 2 评论 -
Android Zip解压缩工具类
package com.example.zip.commons.utils;import android.util.Log;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.util.ArrayLis原创 2017-06-12 14:33:15 · 10761 阅读 · 1 评论 -
Android RxJava 创建操作符Interval
Interval操作符:用于创建Observable,跟TimerTask类似,用于周期性发送信息,是一个可以指定线程的TimerTask首先添加类库 // RxAndroid compile 'io.reactivex:rxandroid:1.2.1' // RxJava compile 'io.reactivex:rxjava:1.2.4'(1) 间隔时间3秒发送一原创 2017-06-10 17:32:55 · 3730 阅读 · 0 评论 -
Android RxJava 创建操作符Timer
之前有写过Android实现倒计时之使用CountDownTimer,除了CountDownTimer,handler也可以实现 mHandler.sendEmptyMessageDelayed(1, 10*1000); private Handler mHandler = new Handler() { @Override public void ha原创 2017-06-09 10:35:04 · 1165 阅读 · 0 评论 -
Android 使用SeekBar时动态显示进度且随SeekBar一起移动
好久没有更新博客了!在滑动SeekBar的时候,要同时显示进度,而且通常要求最小值比0小,按照惯例,先看看效果图: 一、自定义控件 用于在SeekBar上方,跟随SeekBar一块移动的控件显示进度package la.trytry.seekbar;import android.content.Context;import android.util.Attribu原创 2017-05-31 23:04:28 · 16354 阅读 · 0 评论 -
Android ViewPager的简单使用
很久以前写过一篇Android 仿美团网,探索使用ViewPager+GridView实现左右滑动查看更多分类的功能,本篇文章简单一点,也是说ViewPager。有这么一个场景,在同一个Activity中,我们需要通过滑动来展示不同的布局界面,而ViewPager就是由于若干个不同的布局界面组成的。按照惯例,我们先来看看效果图 接下来我们来看看具体的代码实现: 1、在布局中加入View...原创 2018-06-30 12:01:07 · 4223 阅读 · 4 评论 -
Android CoordinatorLayout打造酷炫的顶部栏
CoordinatorLayout常常与AppBarLayout和CollapsingToolbarLayout一起使用,用于打造各种炫酷效果的顶部栏。之前写过一篇Android 实现酷炫的顶部栏,不过要注意的是这次我们用到Androidx,原因是Google 发布了 Android support library 28,同时也发布了 androidx 1.0.0 第一个正式版本,然后支持库的 “...原创 2019-07-08 17:26:21 · 12812 阅读 · 2 评论 -
Android 搜索结果关键字动态匹配筛选变色效果且高亮显示
分享matcherSearchText方法,返回值是SpannableString,也就是经过我们经过变色处理的文字。主要使用matcher.find()方法找到所有匹配的关键字,按照惯例我们看下效果图下面就是matcherSearchText方法啦 /** * 正则匹配 返回值是一个SpannableString 即经过变色处理的数据 */ private Sp...原创 2019-08-13 14:45:01 · 1914 阅读 · 1 评论 -
Android Activity内嵌Fragment,当Activity recreate时Fragment被添加多次,造成界面重叠
由于某些原因,例如旋转屏幕,内存不足时,造成Activity被destroy() ,或者切换语言环境时,我们recreate()该Activity。这时,如果在该Activity的onCreate中未区分是create 还是recreate就add Fragment,则会再次add一次该Fragment,造成该Activity中会存在多个相同的Fragment.而导致界面重叠的情况。这种情况下,我...原创 2019-09-03 18:03:18 · 3259 阅读 · 0 评论 -
Android 使用MediaPlayer播放本地视频
MediaPlayer可以播放视频和音频,并且它支持本地和网络文件的播放。下面讲一下使用MediaPlayer播放本地视频,如果觉得MediaPlayer使用起来麻烦,也可以选择VideoView播放视频。MainActivity.java 代码如下:package per.juan.playvideodome;import androidx.appcompat.app.AppCompat...原创 2019-09-04 17:36:32 · 10709 阅读 · 1 评论 -
Android Studio不自动代码提示问题解决
在编写代码时,代码不自动提示,而代码自动提示的设置正常,经过一番研究后发现问题原因在于节能模式的开启,具体解决方式如下:关闭节能模式如上图所示,将Power Save Mode前面的对勾去掉,则完成节能模式的关闭,代码提示功能正常。好了,本篇文章就这样了,存在不到位的地方还望指导,感谢!...原创 2019-09-11 14:27:16 · 9553 阅读 · 3 评论 -
Android 软键盘弹出时,EditText固定在键盘上方
OnGlobalLayoutListener 是ViewTreeObserver的内部类,当一个视图树的布局发生改变时,可以被ViewTreeObserver监听到,这是一个注册监听视图树的观察者(observer),在视图树的全局事件改变时得到通知。ViewTreeObserver不能直接实例化,而是通过getViewTreeObserver()获得。除了OnGlobalLayoutList...原创 2019-09-20 10:59:35 · 2780 阅读 · 3 评论 -
Android Animation之TranslateAnimation(平移动画)
Android的View Animation(视图动画)中的Tween Animation效果,Tween Animation分为4种动画效果,分别是:alpha (透明变化) translate(位置移动) scale(缩放) rotate(旋转),而本篇文章说的是translate(位置移动)的效果。Translate动画是非常好理解,就是定义一个开始的位置和一个结束位置,定义移动时间,然后...原创 2019-09-23 14:18:55 · 7756 阅读 · 0 评论 -
Android 自定义Dialog的简单实现
感觉好像已经很久没更新博客了,前段时间主要是忙于新工作的事情,现在我又可以抽出时间来写写博客了,今天分享一篇自定义Dialog的简单实现一、前言 现在很多App的提示对话框都非常个性化,我们早已不再满足于使用系统的对话框样式,一般而言,我们会根据自家的App的主题,设计出相对应风格的Dialog,今天我就给大家分享一篇自定义的Dialog,主要的功能有:设置标题以及标题字体的颜色设置内容以及内原创 2016-11-29 21:38:40 · 1464 阅读 · 0 评论 -
android:windowSoftInputMode属性
android:windowSoftInputMode用于设置当前activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。 这个属性能影响两件事情: 【一】当有焦点产生时,软键盘是隐藏还是显示 【二】是否减少活动主窗口大小以便腾出空间放软键盘 它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。在任原创 2016-09-30 18:32:10 · 2397 阅读 · 0 评论 -
在ListView下面添加一个相对布局的小Dome-布局优化
对于一个相对比较复杂的界面,可以用重用来优化布局,也就是在一个布局里面引入另一个布局。比如说我们程序界面的表头公共的部分,这时候可以将这个公共的部分提取出来放在一个独立的布局文件中,,然后在界面的布局文件里引用这个公共的布局。1.下面这个就是独立出来的公共布局include_actionbar.xml<RelativeLayout xmlns:android="http://schema原创 2015-10-20 13:51:09 · 2841 阅读 · 0 评论 -
Android:控件WebView显示网页
WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用。webview有两个方法:setWebChromeClient 和 setWebClientsetWebClient:主要处理解析,渲染网页等浏览器做的事情setWebChromeClient:辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等 WebVi转载 2016-01-11 11:28:47 · 1067 阅读 · 3 评论 -
DatePicker与TimePicker的使用
Android开发中经常会使用到日期选择器与时间选择器,接下来我就来总结一下先贴一下项目结构图:MainActivity.classpackage com.pumasoft.selectdateandtimedome;import android.app.Activity;import android.content.Context;import android原创 2016-01-11 17:19:56 · 1820 阅读 · 0 评论 -
Android:通过Intent访问一个网页
Intent(意图)主要是解决Android应用的各项组件之间的通讯。package com.pumasoft.dome;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.support.v7.app.ActionBarActivity;im原创 2016-01-11 14:19:48 · 1554 阅读 · 0 评论 -
探索Popupwindow-对话框风格的窗口(
Android中还是会经常用到Popupwindow,一种类似于对话框风格的窗口,当然类似于对话框风格也可以用Activity,可以参考:(需补充)一般使用Popupwindow创建对话框风格的窗口只需要两部:(1)调用Popupwindow的构造函数创建Popupwindow对象,例如PopupWindow popupWindow = new PopupWindow(root,原创 2015-12-08 00:44:48 · 1613 阅读 · 4 评论 -
探索Android中selector和shape的结合使用
Android中的Selector(背景选择器)主要是用来改变一个按钮控件的背景,在Android UI设计中经常会遇到,比如我们在点击Button时需要有些效果的变化,这时候就要用到和。和对美化控件有很大的作用。接下来我要以四个在Android实际开发中可能会用的比较的情况来探索selector和shape的结合使用。(1)带圆角,白色背景,彩色边框的矩形首先来定义一个带圆角,白色背原创 2015-12-06 21:10:59 · 21352 阅读 · 8 评论 -
Android中使用Dialog风格弹出框的Activity
在Android中经常会遇到需要使用Dialog风格弹出框的activity,首先我们可能会首先想到的是在XML布局文件中设置android:layout_height="wrap_content"属性,让activity的高度自适应,显然这还不行,我们还需要为其DialogActivity设置自定义一个样式 @android:color/transparen原创 2015-12-06 16:26:38 · 12926 阅读 · 3 评论 -
使用Spinner实现城市级联下拉框
最近帮师妹写一个使用Spinner实现城市级联下拉框的Dome,现在总结一下,第一次写博客,互相学习,大神们勿喷哦!!!activity_main.xml里面有三个Spinner<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.an原创 2015-10-19 17:45:04 · 3708 阅读 · 1 评论 -
Android TelephonyManager类的使用
TelephonyManager类主要提供了一系列获取手机与通讯相关的状态和信息的get方法,包括手机用户的信息、手机SIM的状态、电信网络的状态等。 TelephonyManager类的对象的获取:TelephonyManager tm=(TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);在开发的时候不要忘记了在配置文件中原创 2016-04-10 17:10:42 · 2043 阅读 · 0 评论 -
Adnroid 打造通用的带进度条的WebView
在Android开发中,经常需要加载加载显示网页,一般一个页面在打开后,在等待数据加载的过程中,都需要花一点时间,这个时候往往需要显示一个转动的进度条(ProgressBar),接下来封装了一个自定义控件和加载网页的公共Activity,方便使用。 一般的做法是在layout.xml中添加ProgressBar,但我们不这样做,主要是为了减少layout嵌套。 按照惯例我们先来看看最终的效果图:原创 2016-06-06 23:31:58 · 3091 阅读 · 12 评论 -
Android Design新控件之TabLaout(二),仿微信实现App底部Tab布局
TabLayout的两种常见设计布局:顶部标签页(如今日头条,知乎)底部菜单栏(如微信主界面)其中上一篇文章中讲到了Android Design新控件之TabLaout(一),快速打造一个滑动标签页,接着接着举例使用TabLayout+ViewPager来简单实现一个类似于微信等App底部菜单栏布局,按照惯例,我们先来看看简单的效果图: 1、和上一篇文章一样,我们需要在应用的build.g原创 2016-08-26 10:54:00 · 7768 阅读 · 5 评论 -
探索Android Material Design 中的Tint(着色)
很多天以前看到鸿洋大神公众号推出的一篇文章:安卓着色器(tint)使用实践,开始接触Tint这个属性,Tint翻译为着色,用于对视图进行颜色渲染。和往常一样,主要还是想总结一下我在学习过程中的一些笔记以及一些需要注意的地方。一、Tint的作用 Tint的存在一定程度上减少了我们对图片的需求以及apk的大小,我们拿ImageView来说吧,假如它的背景图有两种,一种是默认情况下需要显示的是背景图片1原创 2016-08-21 12:57:33 · 7929 阅读 · 0 评论 -
Android 拖动条SeekBar的简单使用
在Android开发中,拖动条常常用于对系统某种数值的设置,例如播放视频和音量等都会用到拖动条SeekBar。SeekBar和进度条十分相似,只是拖动条可以通过滑动块的位置来标志数值,并且允许用户拖动滑动块来改变值。 1、SeekBar的常见的一些的属性style=”@android:style/Widget.SeekBar” 指定seekbar的样式android:max=”200” 指定s原创 2016-09-06 18:01:55 · 18655 阅读 · 0 评论 -
Android Design新控件之TextInputLayout(文本输入布局)
谷歌在推出Android5.0的同时推出了全新的设计Material Design,谷歌为了给我们提供更加规范的MD设计风格的控件,在2015年IO大会上推出了Design支持包,Design常用的新控件包括:TextInputLayout(文本输入布局)TabLaout(选项卡布局)SnackbarFloatingActionButton(浮动按钮)NavigationView(导航视图原创 2016-08-22 00:25:52 · 7776 阅读 · 3 评论 -
Android 探索Bottom sheets的使用
在Android Support Library 23.2版本推出之后,我们可以看到一些新的特性,例如AppCompat DayNight主题,BottomSheet等,其中BottomSheet控件一般用于从屏幕底部边缘向上滑出的一个表单,本篇文章是想总结一下我在学习BottomSheet过程中的一些笔记以及一些需要注意的地方。首先我们来看一下效果图 这个效果的实现很简单,甚至基本不需要java原创 2016-09-08 15:26:08 · 2481 阅读 · 2 评论