12 安卓007

尚未进行身份认证

我要认证

一个普普通通的安卓开发

等级
TA的排名 4k+

BottomNavigationView + Fragment 实现底部导航栏

目标实现底部导航栏效果图主要代码布局文件: activity_main.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="matc

2020-10-30 18:28:33

安卓支持手势缩放图片

背景显示图片时,希望支持手势缩放图片.解决方案添加依赖 implementation 'com.github.chrisbanes:PhotoView:2.3.0'使用<com.github.chrisbanes.photoview.PhotoView android:layout_width="match_parent" android:layout_height="match_parent" android:src="@mipmap/ic_lau

2020-10-30 16:32:01

安卓中使用Retrofit 请求字符串接口(非JSON数据)

背景接口返回的数据不是json格式的,而是普通字符串,那平常的retrofit调用方式就有问题了.解决方案添加依赖 implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'2.修改retrofit构造类,采用ScalarsConverterFactory作为转换器private fun getNetworkService(): NetworkService { val okHttpClient = OkHt

2020-10-30 16:27:50

协程Coroutines实现并发和串行两种操作

背景一般情况,我们使用协程,是将异步变成同步,操作就都变成了串行的了,但是有些界面需要调用调用多个接口,而且还需要等所有接口完成后再做某个动作.那该怎么办呢?下面的样例为串行调用:launch { val resp1 = service.query1() resp1?.let { view.xx1() } val resp2 = service.query2() resp2?.let { view.xx2() } //等所有接口调用完毕后执行如下操作}解

2020-10-30 14:53:16

安卓中使用ViewPager2实现上下滑动翻页

目标实现上下滑动翻页,类似于抖音、快手短视频的操作方式.实现方案布局文件:activity_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">

2020-10-30 11:15:18

如何一键制作全套安卓logo图

目标制作安卓App需要的全套logo图工具AndroidStudio详细操作步骤右键,选择菜单“New>Image Asset”点击Path后的图标,选择本地图片3.选择完图片后,一路Next到家即可.

2020-10-29 17:39:09

安卓自定义倒计时控件

用途实现倒计时效果.效果图主要代码class CountDownTextView(context: Context, attrs: AttributeSet? = null) : AppCompatTextView(context, attrs) { private var mOnFinishCallback: OnFinishCallback? = null private var startNum = 10 private var endNum = 1

2020-10-29 10:08:28

ScrollView嵌套GridView/Listview,Scrollview总是滚动到GridView/Listview的位置问题

问题描述布局中采用了ScrollView内嵌GridView,界面刷新时,总是会出现ScrollView自动滚动到GridView的位置.解决办法方法一:页面初始化的时候,设置isFocusable属性.gridView.isFocusable = falsePS:需要在代码里设置,而不能在布局文件中通过属性设置(经实测,设置无效).2. 方法二定制GridViewclass LabelGridView : GridView { constructor(context:

2020-10-28 19:35:58

Execution failed for task ‘:zz:transformClassesAndResourcesWithProguardForRelease‘

背景debug版本编译正常,release版本编译报错.编译报错日志Warning: can't write resource [META-INF/businessframe_release.kotlin_module] (Duplicate zip entry [6.jar:META-INF/businessframe_release.kotlin_module])Warning: can't write resource [META-INF/core_release.kotlin_module]

2020-10-26 17:27:09

如何让文本居右对齐,换行后又居左对齐

效果图一般做出来的效果预期效果图(差别在第二张)预期效果: 文字单行居右对齐,多行居左对齐.实现方案让目标文本控件内居左对齐在目标控件外围套一层相对布局,占满横向空间,让文本控件在相对布局中居右显示 .<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:i

2020-10-24 17:34:11

Kotlin打印方法执行耗时

fun main() { val timeCost = measureTimeMillis { test() } println("耗时:$timeCost")}fun test() { sleep(500)}

2020-10-23 14:05:36

安卓流式布局FlowLayout样例

用途让布局里的控件自动换行效果图使用方法添加依赖implementation 'com.nex3z:flow-layout:1.3.1'代码<com.nex3z.flowlayout.FlowLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_paren

2020-10-20 19:20:44

安卓中如何实现左滑菜单

效果图特性支持左滑和右滑显示一个菜单项,尚不支持更灵活的方式.主要代码class SlideLayout(context: Context?, attrs: AttributeSet? = null) : HorizontalScrollView(context, attrs) { private lateinit var mLeftMenu: ViewGroup private lateinit var mRightMenu: ViewGroup private

2020-10-16 18:04:43

安卓弹出框顶部距离过大(点击弹出框外围时,弹出框未消失)

问题描述当点击弹出框外面一圈时,弹出框未消失. 离开弹出框比较远时,才消失.原因分析弹出框默认外围有一圈透明的部分.解决方案指定style,去掉标题栏.样例:class MyDialogWithNoTitle(context: Context) : Dialog(context, R.style.common_dialog) { init { setContentView(R.layout.dialog_layout) }}styles.xml<s

2020-10-16 14:28:25

EditText嵌套到ScrollView中时无法完全铺满

问题描述单独EditText时,可以完全铺满父控件,但是放到ScroolView后,就缩成一行了.解决方案在ScrollView中增加android:fillViewport="true".如:<ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:fillViewport="tr

2020-10-13 13:59:24

安卓解决EditText滑动不畅的问题

问题描述使用EditText展示(也可编辑)多行文本时,上下滑动,感觉不流畅,不带惯性.解决方案使用ScrollView包裹EditText.<ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:fillViewport="true"> <EditText

2020-10-13 13:57:04

安卓开发入门教程-常用布局_RelativeLayout

关注 安卓007 ,免费获取全套安卓开发学习资料什么是RelativeLayoutRelativeLayout又称相对布局,是安卓开发中几个常用的布局之一,使用频率最高.支持相对于父控件或同级兄弟控件进行定位.基础样例1. 相对父控件定位效果图代码<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" an

2020-09-04 09:01:55

安卓开发入门教程-常用布局_FrameLayout

关注 安卓007 ,免费获取全套安卓开发学习资料什么是FrameLayoutFrameLayout又称帧布局,开发中很少使用,因其定位方式过于简单,所有控件都默认定位左上角.也支持将子控件显示在父控件的上下左右及正中间.基础样例1. 默认定位样例效果图代码<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" a

2020-09-03 09:04:41

安卓开发入门教程-常用布局_LinearLayout

关注 安卓007 ,免费获取全套安卓开发学习资料什么是LinearLayoutLinearLayout又称线性布局,是安卓开发中几个常用的布局之一,使用频率较高,而且非常简单.布局内的控件依次排列,支持横向或纵向排列.基础样例1. 纵向排列效果图代码<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" and

2020-09-02 10:03:34

安卓开发入门教程-数据存储_SQLite数据库

关注 安卓007 ,免费获取全套安卓开发学习资料什么是SQLite数据库SQLite数据库是适合在移动设备上使用的轻量型关系型数据库,速度快,占用空间小.与SharedPreferences适合存储少量简单类型数据相反,SQLite数据库适合存储大量复杂类型的数据.安卓原生提供了操作数据库的API接口,但是操作较为繁杂,于是涌现了大量第三方的开源操作库,如GreenDAO、Realm等.但Google最新推出Jetpack全家桶,自带Room数据库操作库,使用上方便快捷,同时可以和Jetpack中的其

2020-08-26 08:40:34

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 1024勋章
    1024勋章
    #1024程序员节#连续参与两年活动升级勋章,当日发布原创博客即可获得