selector 是安卓资源文件的一种,它可以使按钮等实现不同状态下的不同UI,不用在代码中实现,而使用方式有两种,一种在color文件下 创建.xml可以使按钮等字体在不同状态下的变化,其二是在drawable中创建资源文件,可以设置背景等,下面的<shape标签可以绘制不同种图形,<gradient还可以实现渐变色的效果. 如何使一个textview显示两种不同字体的布局 对于新手来说可以使用多个textview拼接的方法,但此方法繁琐,一个textview实现有两种方法, 一是通过And…
设置类似钉钉或tel的圆形用户名首字母头像 设置有两种方法,一是使用已有的库或自定义的view组件,但如果确定只是文字头像,也可使用textview的backgrou属性,调整资源文件使textview达到圆形的效果, textview文字属性 文字属性使用gravate调整位置, activity的launchmode四种 其中singleTop singleStrack 使用方式不同,当首页界面,加载页设计为此时,不会频繁销毁activity,同时有利于广告植入, linerlayout o…
Android 中的webview android 中的webview是可以在app内部打开HTML等的网页,不必再打开浏览器,有两种实现方法,即webviewclient webChromeclient 两种方法,如果仅仅是简单的点击和静态界面,直接使用第一种. 注意事项 一,开启网络权限,可能一项没有设置到最后的结果就是加载不出来,所以我们需要再manifist文件中设置权限 <uses-permission android:name="android.permission.INTER…
Android设备调试桥 即adb 使用adb进行无线调试的一些常用命令 adb tcpip 5555 设置调试端口为5555 防止冲突 adb shell ifconfig wlan0 查询局域网中的移动设备局域网IP地址 adb connect 192.168.0.100 使移动设备和Android studio连接 adb devices 查询连接的设备 adb disconnect ip 断开连接 2. 使用插件 AndroidWifiADB 进行无线调试 注意的点 每次连接时都还要连接…
TBS 的接入和使用 TBS 的接入 腾讯TBS是X5内核的升级版,可以当作webview 来打开 网页,可以以用来打开docx doc pdf 等文件,这里主要使用的是文件功能. 依赖接入 api 'com.tencent.tbs.tbssdk:sdk:43939' 这是笔者2021/2/25编辑时最新版本,最新可在官网查询. 如果依赖文件下载有问题可手动下载jia包,本地依赖包可放在 app/libs 下,文件夹可自行创建,同时在 app/src/main/jniLibs/armeabi 下…
安卓横竖屏大多数已经在manifest文件中将activity使用android:screenOrientation="portrait"属性写死,如简单的界面切换可直接更改为"sensor"属性,但如复杂的界面需使用其他方法. 1监听横竖屏切换变化 <activity android:name=".MainActivity" android:configChanges="orientation|keyboard|layoutDi…
fragment与pageView fragment fragment不可以侧滑切换相关界面,但多数代码位于fragment中,易于维护,同时不会受到多个手势滑动的影响 pageView pageView与fragment的实现有相似之处,但代码臃肿,同时易被侧滑手势干扰 为textView添加边框 有两种方式1使用资源文件布局,为textView直接添加背景src 操作简单 2使用自定义view绘制矩形框,Draw绘制函数使用左上 右下两点坐标确定,实际上是矩形四条边对边界的位置. relat…
builder模式创建自定义popwindow builder设计模式 将一个复杂的对象构建与它的表示分离,简化代码的使用方式.当对象有多个参数或多个零件同时初始化方法同时初始化方法有默认值时,采用此模式比较方便. 主要结构 basepopwindow 产品类 builder 产品类具体的构造类 basepopwindow的子类 BasePopController 产品类控制类 PopupParams 产品类参数类 basepopcontroller 的子类 代码实现 public class…
layout_weight属性 layout_weight属性我们常常用到,但有时候会发现它还有一些奇怪的属性,比如大多数使用时会把宽度设置成0,但要是宽度不设置成0会有什么效果? layout_weight的属性意义为权重大于零的控件会分配剩余控件 意义为如控件属性设置为wrap_content时,如一个控件内容为"123",另外一个为"123456",两者同时设置相同的权重,后者大小会比前者大,是由于先分配内容空间,后为两控件设置剩余空间. 当layout_wi…
SharePreference SharePreference是一种持久化存储手段,使用场景很多,如第一次打开时加载的用户协议等.适合小数据单进程的应用.将数据以键值对的形式存储在XML中. 使用方式,edit接口,同时又commit和apply方法,推荐使用后一种,后一种为异步,前者为同步,对于单进程应用来说,数据更新不必太及时,只要确保数据的正确性,因为Android中sharedpreference是可以被多个进程读取,同时读取可能会导致数据出现问题. AIDL AIDL Android…