Android学习笔记
IrvingTc
成功背后不是沧桑便是肮脏
展开
-
RecyclerView实现竖向无限循环滚动的列表
通过重写LinearLayoutManager实现直接使用该LayoutManger即可package com.example.testrecy.testimport android.util.Logimport android.view.Viewimport android.view.ViewGroupimport androidx.recyclerview.widget.RecyclerViewimport androidx.recyclerview.widget.RecyclerVie原创 2020-06-28 00:11:06 · 3004 阅读 · 0 评论 -
Fragment中拦截onBackPressed()返回事件
由于Fragment中没有onBackPress事件,所以需要在Activity中收到onBackPress回调时去执行Fragment中相应的操作,再根据Fragment中返回的结果判断是否回退。创建一个接口interface IOnBackPressed { fun onBackPressed(): Boolean}让需要处理onBackPress事件的Fragment实现该接口class TestFragment : Fragment(), IOnBackPressed {原创 2020-06-13 20:57:08 · 3725 阅读 · 3 评论 -
Fragment中监听和拦截点击MotionEvent事件
由于Fragment中没有dispatchTouchEvent()方法和OnTouchEvent()方法对事件进行分发和处理,所以如果想要在Fragment中拦截点击事件的话可以这样做:override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) view.setOnTouchListener { v, e原创 2020-06-13 20:33:23 · 3538 阅读 · 0 评论 -
Android中给BottomSheetDialog设置最大高度(含沉浸式)
BottomSheetDialog没有提供设置最大高度的Api,所以需要我们自己手动去改变最大高度,我这里通过继承BottomSheetDialog重写oncreate()来实现。我这里用的是最新的androidx,需要导入Material Componentsdependencies{ ... implementation group: 'com.google.android.mat...原创 2019-11-23 21:33:49 · 6743 阅读 · 0 评论 -
Android中使用Shape标签给BottomSheetDialog(其他View同理)设置圆角以及透明背景
一、drawable文件下创建shape文件<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- rectangle表示为矩形 --> <!-- 填充的颜色 --> <s...原创 2019-11-23 20:57:37 · 1207 阅读 · 0 评论 -
Android中getDimension,getDimensionPixelOffset和getDimensionPixelSize 区别
一、getDimension获取某个dimen的值,如果是dp或sp的单位,将其乘以density,如果是px,则不乘 返回float二、getDimensionPixelOffset获取某个dimen的值,如果是dp或sp的单位,将其乘以density,如果是px,则不乘 返回int三、getDimensionPixelSize不管写的是dp还是sp还是px,都会乘以denstiy...原创 2019-11-22 10:47:28 · 989 阅读 · 0 评论 -
Animation动画详解
Animation动画详解转载 2019-11-20 07:48:31 · 1454 阅读 · 0 评论 -
Android中动态改变布局中控件的位置
一、以控件在RelativeLayout中为例,其他布局中也是一样的,可以通过修改控件的magin属性来改变控件的位置。// 需要注意的是,此时构造参数中的两个属性为控件的宽和高(px),而不是父布局的宽和高。RelativeLayout.LayoutParams layoutparams = new RelativeLayout.LayoutParams(100,100);layoutp...原创 2019-11-20 07:45:22 · 5347 阅读 · 0 评论 -
Android中动态修改控件的大小(含自定义控件)
动态修改控件大小转载 2019-11-14 20:14:59 · 1779 阅读 · 0 评论 -
Android-将dp或sp值转为webView中可能用的px(CSS中的px)
将值除以设备的密度即可。float value = getResources().getDimensPixelSize(R.dimen.xxx) / getResources().getDisplayMetrics().density;原创 2019-11-13 19:08:56 · 782 阅读 · 0 评论 -
Android中md文件和html文件加载drawable或asset文件夹下的图片或其他文件
md文件中加载图片的格式 asset文件夹下: ![description](file:///android_asset/xxx.png) drawable文件夹下: ![description](file:///android_res/drawable/xxx.png)html文件中加载图片的格式 asset文件夹下: <img src='file:///android_a...原创 2019-11-04 17:22:04 · 1460 阅读 · 0 评论 -
Android学习笔记(十三):ContentProvider
概述 ContentProvider作为安卓四大组件之一,它的作用是为不同的应用之间数据共享,提供统一的接口。我们知道安卓系统中应用内部的数据是对外隔离的,要想让其它应用能使用自己的数据(例如通讯录),这个时候就用到了ContentProvider。 ContentProvider实际上...原创 2019-08-29 16:21:57 · 244 阅读 · 0 评论 -
Android 学习笔记(十一):ListView和RecycleView的学习
ListViewListView是一个列表控件,需要搭配Adapter使用。通过自定义一个Adapter,继承自BaseAdapter,然后在adapter中完成数据的绑定,最后通过ListVIew.setAdapter()方法将listView和adapter绑定起来。ListView可以添加表头和表尾,addHeaderView(View v):添加headView(表头),括号中的参...原创 2019-08-13 22:44:25 · 274 阅读 · 0 评论 -
Android 学习笔记(二):五种布局方式
一、约束布局Android Studio中默认为约束布局,自己创建的话,在layout文件下创建xml文件,布局方式使用组件周围的控键进行布局,如下图二、线性布局在layout文件夹下创建xml文件,线性布局默认是从上往下的格式进行布局,可以设置android:orientation="horizontal"从左到右进行布局,一个线性布局里可以嵌套多个线性布局。三、相对布局l...原创 2019-05-23 12:34:48 · 293 阅读 · 0 评论 -
Android 学习笔记(三):拨打电话功能和获取运行时权限
一、页面简单的效果图 <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/tishi" andro...原创 2019-05-23 17:34:07 · 687 阅读 · 0 评论 -
Android 学习笔记(四):安卓开发权限速查
Normal Permissions如下ACCESS_LOCATION_EXTRA_COMMANDSACCESS_NETWORK_STATEACCESS_NOTIFICATION_POLICYACCESS_WIFI_STATEBLUETOOTHBLUETOOTH_ADMINBROADCAST_STICKYCHANGE_NETWORK_STATECHANGE_WIFI_MULT...原创 2019-05-23 22:14:54 · 140 阅读 · 0 评论 -
Android 学习笔记(五):安卓自带日志工具的使用
简单介绍Android中的日志工具类是Log(android.util.Log),这个类中提供了如下5个方法来供我们打印日志。Log.v()。用于打印哪些最为琐碎的、意义最小的日志信息。对应级别为verbose,是Android日志里面级别最低的一种。Log.d()。用于打印一些调试信息,这些信息对你调试程序和分析问题应该是有帮助的。对应级别debug,比verbose高一级。Log.i...原创 2019-05-23 22:50:46 · 1029 阅读 · 0 评论 -
Android 学习笔记(九):Activity的生命周期分析和常用控件的使用
一、分析Activity的生命周期变化使用右滑手势(返回键)退出应用时,先后进入onPause(),onStop(),onDestroy()三个状态,应用被摧毁。然后进入应用时先后进入onCreate(),onStart(),onResume()三个状态。应用重新进入运行状态。在记录的时候屏幕熄灭,先后进入onPause(),onStop(),Activity进入后台停止运行重新点亮屏后,先...原创 2019-08-13 22:27:31 · 225 阅读 · 0 评论 -
Android 学习笔记(六):基础回顾
打开手机开发者模式打开设置 -> 关于手机 -> 点击七次版本号(Build Time)进入开发者模式退出,搜开发者模式,打开开发者模式,选择usb调试完成后,即可通过as连接进行调试安卓四种点击事件四种点击事件的实现安卓五种布局模式五种布局模式Android Studio日志工具Logcat简单使用日志工具Logcat简单使用签名打包和发布Build下选择Gen...原创 2019-08-13 22:19:31 · 115 阅读 · 0 评论 -
Android 学习笔记(七):Activity的跳转和生命周期
Activity间如何传递数据通过intent传递数据//intent中可以有两个参数,表示从第一个参数(Activity)跳转到第二个参数(Activity)Intent intent = new Intent(a,b);//通过键值对的方式存数据到intent中,intent.putxxx(a,b);//通过intent传数据到另一个activitystartActivity(i...原创 2019-08-13 22:21:31 · 200 阅读 · 0 评论 -
Android 学习笔记(八):ListView
ListView简单的填充数据ListView相当于一个容器,里面的所有的数据类型一致,通过将ListView绑定一个Adapter,Adapter可以自己创建,要实现BaseAdapter接口,重写相应的方法,然后在Adapter中的getView方法()获取到视图。进行布局填充时先要创建一个布局填充器LayoutInflater,可以通过Content.getSystemService(C...原创 2019-08-13 22:22:11 · 133 阅读 · 0 评论 -
Android 学习笔记(十):Service的生命周期与实现方式
startService的生命周期以及实现方式可以通过一个简单的音乐播放器来测试startService的生命周期MainActivity中放三个按钮,分别代表播放,暂停,停止将这三个按钮分别绑定监听器,播放按钮监听器中开启服务并播放歌曲,停止按钮停止服务并停止播放,暂停按钮暂停播放。播放事件中使用startService(Intent intent)方法开启服务,停止事件中会调...原创 2019-08-13 22:41:02 · 259 阅读 · 0 评论 -
Android 学习笔记(十一):广播和广播接收器的学习
思维导图广播接收器• 广播(Broadcast)是在组件之间传播数据的一种机制,这些组件可以位于不同的进程中,起到进程间通信的作用。• 广播接收器(BroadcastReceiver) 是对发送出来的 Broadcast 进行过滤、接受和响应的组件。标准广播• 完全的异步执行的广播,发出广播后所有的广播接收器几乎会在同一时间接收到这条广播,没有先后顺序。效率比较高,且无...原创 2019-08-13 22:43:18 · 318 阅读 · 0 评论 -
Android 学习笔记(一):四种点击事件实现方式
一第一种方式是在组件的xml文件中配置android:onClick="click"属性,然后在主类中添加click方法,public void click(View view) { System.out.println("hhh,我被点击了!!!"); Toast.makeText(this,"hhh,我被点击了!!!", Toast.LENGTH_SHORT...原创 2019-05-22 22:22:34 · 758 阅读 · 0 评论