基础知识
兴帅_
退游了
展开
-
Android 基础知识(坐标系统)
android中的坐标系以及获取坐标的方法 android中有两种坐标系,分别称之为Android坐标系和视图坐标系。而对应的也有一些相关的方法可以获取坐标系中的坐标值。只有搞清楚这些区别,才能在实现的时候不至于出错或者得不到你想要的效果。一、Android坐标系和视图坐标系 (1)Android坐标系 先来看一看Android坐标系是个什么样子...原创 2019-03-24 08:44:36 · 158 阅读 · 0 评论 -
横竖屏切换Fragment
【1】写两个类继承android.app.Fragment; 【2】在Mainactivity 中获取窗口大小,判断横竖屏进行更换。 FragmentManager 动态注入 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...原创 2018-12-17 11:26:51 · 441 阅读 · 0 评论 -
Android去掉当前Actiivty的标题栏
1,在AndroidManifest 去掉当前Actiivty的标题栏 android:theme="@style/Theme.AppCompat.Light.NoActionBar" <activity android:name="activity.SplashActivity" android:theme="@style/Theme.AppCom...原创 2018-12-21 12:03:24 · 203 阅读 · 0 评论 -
Android 程序进入设置第一个启动的Activity
1,在AndroidManifest 声明app 进入启动splash,程序进入先行启动SplashActivity <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> ...原创 2018-12-21 11:56:27 · 2962 阅读 · 0 评论 -
SVN不显示图标问题
解决方法:1,把文件放入回收站。然后在还原2,任务管理器关闭explorer.exe, 然后文件,运行新任务输入exploreer.exe 有帮助给点个赞。我要崛起了~~~~~...原创 2018-12-20 17:32:28 · 159 阅读 · 0 评论 -
静态加载Fragment
【1】MainActivity 布局 创建2个fragment 分配位置 fragment里面的name属性:要指定你声明的fragment,就是要加载这个fragment<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://sch...原创 2018-12-14 18:05:07 · 306 阅读 · 2 评论 -
Android 调用摄像头
【1】AndroidManifest添加权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>【2】intent调用打开照相机:Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);Fi...原创 2018-12-14 16:15:39 · 1386 阅读 · 0 评论 -
属性动画(Property Animation)简单使用
1,介绍:属性动画(Property Animation)是在 Android 3.0(API 11)后才提供的一种全新动画模式 相对于补间动画 (Tween Animation) 属性动画真实的改变了坐标的位置。 2,代码实现:【1】透明效果: ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "alpha", ...原创 2018-12-20 10:39:32 · 305 阅读 · 0 评论 -
BitmapFactory --- 创建图片副本
3,创建原图的副本 为什么要创建副本,因为原图不能被修改。修改则会报错 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xiaoshuai.www.myapplication/com.xiaoshuai.www.myapplication.MainActivity}: java.l...原创 2018-12-06 21:40:51 · 389 阅读 · 1 评论 -
BitmapFactory --- 手动加载大图片Demo
【1】问题加在过大的图片,内存分配给的不够就会报错10-16 02:11:10.443: I/dalvikvm-heap(22693): Forcing collection of SoftReferences for 30720012-byte allocation加载大图的时候内存溢出。【2】获取手机的分辨率。A,过时的API[2]获取手机的分辨率 ...原创 2018-12-06 21:18:37 · 480 阅读 · 1 评论 -
Android 获取手机的分辨率两种方法
A,过时的API[2]获取手机的分辨率 WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDisplay...原创 2018-12-06 21:11:07 · 2199 阅读 · 0 评论 -
Android 后台播放音乐Demo
开发流程:A,创建服务把想使用的方法暴露出来。B,定义接口,bind调用时返回对象,在service 开启播放音乐实时更新进度条的位置C,Activity 中创建hander 更新UI【1】布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:to...原创 2018-12-14 08:31:26 · 1009 阅读 · 0 评论 -
Android 通知栏(Notification)点击跳转页面
1,通知栏应用:Notification,是一种具有全局效果的通知,可以在系统的通知栏中显示。当 APP 向系统发出通知时,它将先以图标的形式显示在通知栏中。用户可以下拉通知栏查看通知的详细信息。通知栏和抽屉式通知栏均是由系统控制,用户可以随时查看。 2,代码:【1】显示通知栏。跳转页面 //[1]获取通知的管理者 NotificationManager b...原创 2018-12-19 17:27:35 · 4896 阅读 · 0 评论 -
底部菜单栏 Fragment + button 键切换
1,实现接口setOnClickListener 重写里面onClick 方法 2,设置点击事件3,用switch 获取控件ID 。设置点击事件。【1】布局:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas....原创 2018-12-17 11:28:28 · 323 阅读 · 0 评论 -
Fragment的生命周期
生命周期的解析:1. 当一个fragment被创建的时候,它会经历以下状态. onAttach() onCreate() onCreateView() onActivityCreated() 2. 当这个fragment对用户可见的时候,它会经历以下状态。 onStart() onResume() 3. 当这个fragment...原创 2018-12-17 14:05:02 · 199 阅读 · 0 评论 -
Android Studio签名打包
1, 选中app这个module,选择菜单栏"Build-Generate signed apk":2, 弹出如下界面:3,创建新的key4,记住密码5,选择apk存放的位置原创 2019-02-20 16:41:11 · 129 阅读 · 0 评论 -
drawable和mipmap的区别
在Android studio中,同时存在drawable目录和mipmap目录,二者没有明显区别,但是工作机制还是存在差别。谷歌官方: drawable/ For bitmap files (PNG, JPEG, or GIF), 9-Patch image files, and XML files that describe Drawable shapes or Drawable o...原创 2019-01-09 15:08:56 · 808 阅读 · 0 评论 -
dp,dip,sp,pt,px的换算公式
public static float applyDimension(int unit, float value, DisplayMetrics metrics){ switch (unit) { case COMPLEX_UNIT_PX: return value; case COMPLEX_UNIT_DIP: return v...原创 2019-01-09 15:07:20 · 271 阅读 · 0 评论 -
dp,dip,sp,pt,px的区别
dip : device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。dp : 和dip相同。px : pixels(像素),一个像素通常被视为图像的最小的完整采样,不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。pt : po...原创 2019-01-09 15:03:51 · 452 阅读 · 0 评论 -
Android Gson导入android studio项目
1,实现逻辑:【1】 build.gradle依赖compile 'com.google.code.gson:gson:2.8.2'【2】创建对象解析Gson//创建对象解析Gson Gson gson = new Gson();newsCenterInfo = gson.fromJson(result, NewsCenterInfo.class); ...原创 2019-01-12 16:18:09 · 783 阅读 · 0 评论 -
Android设置TextView文字居中
一:在xml文件(布局文件)中设置:android:gravity="center"二:在程序中设置:TxtTitle.setGravity(Gravity.CENTER);原创 2019-01-06 09:00:21 · 681 阅读 · 0 评论 -
Tween Animation XML实现效果
1,XML实现动画效果p是基于父布局,%必须添加【1】创建anim文件【2】透明动画(AlphaAnimation)<?xml version="1.0" encoding="utf-8"?><alpha xmlns:android="http://schemas.android.com/apk/res/android"android:duratio...原创 2018-12-19 11:08:40 · 137 阅读 · 0 评论 -
AnimationDrawable(帧动画)
1,AnimationDrawable(帧动画)【1】介绍和使用方法:【2】在rec下创建drawable文件。【2】创建一个xml 文件资源<animation-list ><?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schema...原创 2018-12-19 11:04:27 · 1150 阅读 · 0 评论 -
Tween Animation代码实现效果
1,补间动画(Tween Animation) a. 补间动画(支持四种类型:平移(Translate)、旋转(Rotate)、缩放(Scale)、不透明度(Alpha)。 b. 只是显示的位置变动,View的实际位置未改变,表现为View移动到其他地方,点击事件仍在原处才能响应。(这个是重点,比如你设了控件点击事件,动画结束后,你点你看到的控件位置,是不会响应的,点原来的位...原创 2018-12-19 11:01:01 · 236 阅读 · 1 评论 -
Android 基础知识(Menu)
1。介绍:从官方文档了解到,从Android3.0(API level 11)开始,Android设备不再要求提供一个专门的菜单按钮,转而推荐使用ActionBar。所以现在市面上很多新设备使用三个虚拟按键,并不再额外提供菜单按钮。因为Android版本的发展,对于菜单的支持各个版本有很大的区别,而Android3.0是个分水岭,大概可以分为下面三类: OptionMenu和Acti...原创 2018-12-17 18:54:49 · 136 阅读 · 0 评论 -
Fragment间通信
【1】MainActivty 中动态注入Fragment设置tagpublic class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceStat...原创 2018-12-17 15:56:03 · 205 阅读 · 0 评论 -
fragment兼容低版本
【1】Fragment导包必须都是import android.support.v4.app.Fragment;【2】getSupportFragmentManager获取Fragment的管理者FragmentManager supportFragmentManager = getSupportFragmentManager();FragmentTransaction beg...原创 2018-12-17 14:41:05 · 217 阅读 · 0 评论 -
Android ContentObserver ContentProvider ContentResolver 综合使用
1,介绍:【1】ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,做一些相应的处理,它类似于数据库技术中的触发器(Trigger),当ContentObserver所观察的Uri发生变化时,便会触发它。触发器分为表触发器、行触发器,熟悉Content Provider(内容提供者)的应该知道,我们可以通过UriMatcher类注册不同类型的Uri...原创 2018-12-06 19:47:31 · 486 阅读 · 1 评论 -
Android 控件 ---- SeekBar 简单使用:
1,介绍SeekBar 在听歌的时候,我们常常想快进或者快退到某一时间段,听歌的时候我们控制音量大小听歌,SeekBar可以通过滑块的位置来标示数值,而且拖动条允许用户拖动滑块来改变进度条的大小 2,SeekBar的主要属性和方法(1)setMax --- 设置SeekBar的最大数值(2)setProgress --- 设置SeekBar的当前数值(3)setSeco...原创 2018-12-13 15:58:53 · 516 阅读 · 0 评论 -
Android 动画(AnimationDrawable)
1,Drawable Animation(帧动画)【1】介绍和使用方法:【2】在rec下创建drawable文件。【2】创建一个xml 文件资源<animation-list ><?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schem...原创 2018-11-27 14:49:06 · 277 阅读 · 0 评论 -
Android 基础知识(i18n国际化)
Android studio 国际化的实现 【1】选定res文件右键选择New- Android resource file【2】点击 locale【3】选择国家【4】创建文件进行更爱里面的数据:【5】编辑国际化内容<resources> <string name="app_name">12_国际化</strin...原创 2018-11-27 14:06:47 · 1150 阅读 · 0 评论 -
Android 基础知识 (样式和主题)
1,样式:【1】介绍: 当几个页面或者是几个控件长得都差不多的时候 我们就可以抽出一个样式【2】自定义样式: 在res目录下的values下的style.xml里面定义一个样式 把公告<!--自定义样式 --><style name="my_style"><!--android:layout_width="match_pa...原创 2018-11-27 13:52:44 · 157 阅读 · 0 评论 -
BroadCastReceiver无序广播创建使用
A,在一个APP的MainActivity中发送一个广播 Intent intent = new Intent(); //接收的广播要和Action统一 intent.setAction("com.xiaoshuai.test"); //当发送广播的时候携带点数据 intent.putExtra("name...原创 2018-11-26 20:24:46 · 225 阅读 · 0 评论 -
Android 四大组件 ————BroadCastReceiver
1,介绍:【1】在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件。【2】阐述如何发送Broadcast和使用BroadcastReceiver过滤接收的过程: 首先在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action、Categor...原创 2018-11-26 20:22:56 · 221 阅读 · 0 评论 -
IPC方式简介教程
非实时,通知性的方式第一种方式就是Intent,Intent可以非常方便的通讯,但是它是非实时的,无法进行实时的像函数调用那样的实时的通讯。实时的函数调用但是IPC的根本目的还是为了实现函数的调用,即使是传递数据也是要通过函数调用的方式,为什么呢?因为程序运行总是要知道状态,要有逻辑上的行为,因此必须通讯函数才能体现出行为。IPC的机制除了进程,或者说不同的应用程序之间进行通讯,同时也能...转载 2018-12-04 10:15:13 · 579 阅读 · 0 评论 -
Android 基础知识 ------Activity
1,介绍: Activity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。 每个 Activity 都会获得一个用于绘制其用户界面的窗口。窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗口之上。 2,生命周期: onCreate方法 当activity启动的时候调用 一般在这个方法里面加载布局 o...原创 2018-11-26 09:26:48 · 226 阅读 · 0 评论 -
Android 清单目录application对应属性讲解
1,<Application>一个AndroidManifest.xml中必须含有一个Application标签,这个标签声明了每一个应用程序的组件及其属性(如icon,label,permission等)<application android:allowClearUserData=["true" | "false"] android:all...原创 2018-11-26 09:20:19 · 674 阅读 · 0 评论 -
Android 清单目录manifest对应属性讲解
1,清单列表<?xmlversion="1.0"encoding="utf-8"?><manifest><application><uses-library/><uses-permission/><permission/><permission-tree/原创 2018-11-26 09:16:41 · 264 阅读 · 0 评论 -
Intent 开启Activity数据回调
【1】在A界面开启B,C界面 使用 startActivityForResult()方法 //点击按钮跳转到联系人页面 public void add(View v) { Intent intent = new Intent(this, ContactActivity.class); //就是简简单单开启Activity // st...原创 2018-11-26 09:10:42 · 607 阅读 · 0 评论 -
intent跳转界面传输数据传
【1】putExtra方法底层是一个map集合 对应的键和值【2】在页面A使用putExtra方法,开启跳转到B //[3]条件都满足跳转到结果页面 Intent intent = new Intent(this,ResultActivity.class); //传递数据 底层就是map intent.putExtra...原创 2018-11-26 09:08:41 · 395 阅读 · 0 评论