公开标签 #Android开发
POSTING 默认,表示事件处理函数的线程跟发布事件的线程在同一个线程。哪个线程发就哪个线程收。 MAIN 表示事件处理函数的线程在主线程(UI)线程,因此在这里不能进行耗时操作。 MAIN_ORDERED 无论事件发布者在主线程或者是子线程,都不会造成线程阻塞。 如果是用的MAIN,进行耗时操作可能会阻塞。 BACKGROUND 表示事件处理函数的线程在后台线程,因此不能进行UI操作。如果发布事件的线程是主线程(UI线程),那么事件处理函数将会开启一个后台线程,如果果发布事件的线程是在后台线程,那么
直接使用 smoothScrollToPosition(position) 时,如果要定位的数据在集合下半部分,当滚动结束后,需要显示的数据是在手机界面底部,而不是想要的将定位的位置显示在页面最上面。 可以使用 ((LinearLayoutManager) ((RecyclerView)getView(R.id.rv)).getLayoutManager()).scrollToPositionWithOffset(position, 0) 方法,使用该方法后,每次滚动结束,指定的位置会显示在页面最上面。
mdpi 分辨率:320*480 建议图片尺寸:48*48 hdpi 分辨率:480*800 建议图片尺寸:72*72 xhdpi 分辨率:720*1280 建议图片尺寸:96*96 xxhdpi 分辨率:1080*1920 建议图片尺寸:144*144 xxxhdpi 分辨率:2160*3840 建议图片尺寸:192*192
android开发中,当theme的colorPrimary,colorPrimaryDark,colorAccent等涉及到颜色的属性使用了透明度,就会报错: java.lang.RuntimeException: A TaskDescription's primary color should be opaque 例,白色使用了透明度: <item name="colorPrimary">#00FFFFFF</item> 将其改成: <item name="colorPrimary">#FFFFFF
进入Preferences,选择目录最下面的“Experimental tab” 将右侧 “Gradle” 下的 “Do not build Gradle task list during Gradle sync” 默认的勾选状态取消,点击“OK” 关闭 Preferences 窗口后,点击右上角导航栏大象图标(放上去会提示 “Sync Project with Gradle Files”) 完成后,点击右侧边栏的 “Gradle”,就可以看到 “Tasks” 了 再点击右侧的 “Gradle” 就可以
Android相关属性的介绍:android:exported = true 在Activity中该属性用来标示:当前Activity是否可以被另一个Application的组件启动:true允许被启动;false不允许被启动。 android:exported 是Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性。 总体来说它的主要作用是:是否支持其它应用调用当前组件。 例如: <activity android:exporte
请求在“直接启动”模式下运行 应用必须先向系统注册其组件,然后才能在“直接启动”模式下运行或访问设备加密存储。应用通过将组件标记为加密感知来向系统注册。如需将您的组件标记为加密感知,请在清单中将 android:directBootAware 属性设为 true。 当设备重启后,加密感知组件可以注册以接收来自系统的 ACTION_LOCKED_BOOT_COMPLETED 广播消息。此时,设备加密存储可用,您的组件可以执行需要在“直接启动”模式下运行的任务,例如触发已设定的闹铃。 以下代码段示例说明了如
android:launchMode有关 activity 如何启动的说明。共有五种模式可与 Intent 对象中的 activity 标志(FLAG_ACTIVITY_* 常量)协同工作,以确定在调用 activity 处理 intent 时应执行的操作:"standard""singleTop""singleTask""singleInstance""singleInstancePerTask"默认模式为 "standard"。如下表所示,这些模式可分为两大类:"standard" 和 "singl
Kotlin(JVM) 中定义下面这样两个方函数时,编译器会报错 fun foo(value: List<String>) {} fun foo(value: List<Int>) {} Platform declaration clash: The following declarations have the same JVM signature (method(Ljava/util/List;)V): 因为 Java 的泛型编译期擦除,所以 JVM 无法识别签名中泛型的区别,认为这两个函数签名冲
在项目的开发过程中 , 我们的应用程序都是在有网络的情况下进行处理的 , 但我们也要考虑到在没有网络的情况下,应用会出现什么样的情况 , 所以我们需要获取到当前的网络信息. 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 <uses-permission android:name="android.permission.ACCESS\_NETWORK\_STATE" /> 1)判断是否有网络连接 public boolean isNetworkConnected(Cont