12 安卓007

尚未进行身份认证

我要认证

一个普普通通的安卓开发

等级
TA的排名 4k+

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

效果图一般做出来的效果预期效果图(差别在第二张)预期效果: 文字单行居右对齐,多行居左对齐.实现方案让目标文本控件内居左对齐在目标控件外围套一层相对布局,占满横向空间,让文本控件在相对布局中居右显示 .<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

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

关注 安卓007 ,免费获取全套安卓开发学习资料什么是SharedPreferencesSharedPreferences是一种以键值对形式保存数据的存储方式.每条数据都需要指定一个唯一键名来进行区分.可以存储布尔型、整型、字符串等基础数据类型.其特点为简单、轻量,适合保存少量简单类型的数据,不适合保存大批量或复杂类型的数据.SharedPreferences的实质是xml格式存储数据的文件.基础样例1. 写入和读取数据activity代码class MainActivity : AppCo

2020-08-26 08:39:34

安卓开发入门教程-通过VideoView播放视频

关注 安卓007 ,免费获取全套安卓开发学习资料什么是VideoViewVideoView是用来播放视频的UI控件,可以支持播放本地及网络视频.基础样例代码class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.la

2020-08-26 08:38:59

安卓开发入门教程-通过MediaPlayer播放音频

关注 安卓007 ,免费获取全套安卓开发学习资料什么是MediaPlayerMediaPlayer是用来播放音频的控件,可以支持播放本地及网络音频.基础样例代码class MainActivity : AppCompatActivity() { private lateinit var mediaPlayer: MediaPlayer override fun onCreate(savedInstanceState: Bundle?) { super.onCre

2020-08-26 08:38:21

安卓开发入门教程-通过WebView打开网页

关注 安卓007 ,免费获取全套安卓开发学习资料什么是WebViewWebView是用来打开网页的一种UI控件,可以在App内跳转到指定网址,而不是采用系统浏览器打开网页.基础样例效果图实现方案activityclass MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceStat

2020-08-25 09:24:49

安卓开发入门教程-运行时权限

关注 安卓007 ,免费获取全套安卓开发学习资料什么是运行时权限为了更好的保护用户隐私及安全,安卓自6.0版本开始,引入运行时动态权限检查机制.应用需要访问一些涉及用户隐私及安全权限时,应用需要调用系统权限检查接口,查看是否已获得权限,如果没有,则由系统弹出权限申请窗口,由用户决定是否允许使用相应权限.基础样例下面例子中将申请打电话权限并完成打电话功能.使用安卓原生方式申请权限class MainActivity : AppCompatActivity() { override fun

2020-08-25 09:22:42

安卓开发入门教程-常用工具_Log

关注 安卓007 ,免费获取全套安卓开发学习资料什么是LogLog是安卓程序用来打印日志的工具,相比于默认的控制台(println)输出,Log支持分级别过滤日志,方便按照关键字进行过滤等.基础样例代码Log.v("MainActivity","打印一般信息")Log.d("MainActivity","打印调试信息")Log.i("MainActivity","打印提示信息")Log.w("MainActivity","打印警告信息")Log.e("MainActivity","打印

2020-08-24 11:36:02

安卓开发入门教程-常用工具_Toast

关注 安卓007 ,免费获取全套安卓开发学习资料什么是ToastToast是用来短时显示提示信息并自动显示的UI控件. 默认一般显示在屏幕的下方.基础样例显示默认toast效果图:代码:Toast.makeText(this, text, Toast.LENGTH_SHORT).show()在顶部显示toast效果图:代码:private fun showToastOnTop(text: String) { val toast = Toast.makeTe

2020-08-24 11:35:24

安卓开发入门教程-Fragment

关注 安卓007 ,免费获取全套安卓开发学习资料什么是FragmentActivity是整个看到的界面,而Activity则可以继续分割出多个Fragment. Fragment最初是为了在平板电脑充分利用空间,但是手机端也经常使用,主要目的是共用屏幕上某一块区域.如下面一种界面,上面蓝色框是几个功能(推荐、应用、游戏等)共用的显示区域,当用户切换到不同的功能页时,就将共用显示区域内容替换为对应的功能Fragment.使用单个Fragment样例效果图:手动创建Fragment在工程目录

2020-08-19 09:02:15

安卓开发入门教程-Activity

关注 安卓007 ,免费获取全套安卓开发学习资料什么是ActivityActivity就是你所看到的各个界面,每个界面都是一个Activity.如果把整个app比作一个商场,那Activity就是每一个店面,里面可以用来陈列各种商品.认识默认创建的Activityclass MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { //调用父类的onCre

2020-08-19 09:01:26

查看更多

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