IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> ui基础学习 -> 正文阅读

[移动开发]ui基础学习

TextView 的学习
?module 的 build.gradle 文件配置开启 ViewBinding

?viewBinding?{??????

??enabled?=?true?

???}

在activity_main.xm中
添加代码
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="This is TextView"/>
可以看见空白顶格有This is Textview的一行字
如果要放在中间只要在andriod:text上打出 android:gravity="center"就可
表??字在垂直和?平?向都居中对?
文字颜色:
通过 android:textColor 属性可以指定?字的颜?,通过
android:textSize 属性可以指定?字的??。
EditText
是程序?于和?户进?交互的另?个重要控件,它允许?户在控
件?输?和编辑内容,并可以在程序中对这些内容进?处理。
在activity_main.xm中
添加代码
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
就可以打字了
android:hint="Type something here" 加一句,就可以提示用户打字
增加如下代码 可以将事先准备好的图片显现出来
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/img_1"
/>
AlertDialog
可以在当前界?弹出?个对话框,这个对话框是置顶于所有界
?元素之上的,能够屏蔽其他控件的交互能?
一般用来防??户误删重要内
容,在删除前弹出?个确认对话框。
修改MainActivity中的代码
override fun onClick(v: View?) {
when (v?.id) {
R.id.button -> {
AlertDialog.Builder(this).apply {
setTitle("This is Dialog")
setMessage("Something important.")
setCancelable(false)
setPositiveButton("OK") { dialog, which ->
}
setNegativeButton("Cancel") { dialog, which ->
}
show()
}
}
}
android:orientation 属性指
定了排列?向是 vertical
如:垂直排列
android:orientation="vertical"

?

水平排列

android:orientation="horizontal"

?

如果 LinearLayout 的排列?向是 horizontal ,内部的控件就
绝对不能将宽度指定为 match_parent
如果 LinearLayout的排列?向是 vertical ,内部的控件就不能将?度指定为
match_parent
否则,单独?个控件就会将整个 ?平?向占满,其他的控件就没有可放置的位置了。
android:gravity ?于指定?字在控件中的对??式,?android:layout_gravity ?于指定控件在布局中的对??式。
LinearLayout 的排列?向是 horizontal 时,只有垂直?向上的对??式才会?效。因为此时?平?向上的?度是不固定的,每添加?个控件,?平?向上的?度都会改变,因??法指定该?向上的对??式。同样的道理,当LinearLayout的排列?向是vertical时,只有?平?向上的对??式才会?效。
android:layout_weight 。这个属性允许我们使??例的?式来指定控件的??,它在?机屏幕的适配性??可以起到?常重要的作?。
android:layout_weight 属性的值同时指定为 1 就会平分屏幕宽度
RelativeLayout ?称作相对布局
android:layout_above 属性可以让?个控件位于另?个控件的上?, 需要为这个属性指定相对控件id的引?。其他的属性也是相似的, android:layout_below表?让?个控件位于另?个控件的下?,android:layout_toLeftOf表?让?个控件位于另?个控件的左侧,android:layout_toRightOf表?让?个控件位于另?个控件的右侧。注意,当?个控件去引?另?个控件的id 时,该控件?定要定义在引?控件的后?,不然会出现找不到id的情况。
引?标题栏布局
只需要添加
<include layout="@layout/title" />
如:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<include layout="@layout/title" />
</LinearLayout>

最常?和最难?的控件:ListView

ListView 允许?户通过?指上下滑动的?式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据会滚动出屏幕。你其实每天都在使?这个控件,?如查看QQ 聊天记录,翻阅微博最新消息, 等等。
ListView 中的 标准写法
getView() ?法中,?先使? LayoutInflater 来为这个?项加载我们 传?的布局。LayoutInflater inflate() ?法接收 3 个参数,前两个 参数我们已经知道是什么意思了,第三个参数指定成false ,表?只让我们在?布局中声明的layout 属性?效,但不会为这个 View 添加?布局。因为?旦View 有了?布局之后,它就不能再添加到 ListView 中了。
getView() ?法中还有?个 convertView 参数,这
个参数?于将之前加载好的布局进?缓存,以便之后进?重?,我们可以
借助这个参数来进?性能优化。
更强?的滚动控件: RecyclerView
如果我们想实现横向滚动的话, ListView 是做不到的。
为此, Android 提供了?个更强?的滚动控件 ——RecyclerView 。它可以 说是?个增强版的ListView ,不仅可以轻松实现和 ListView 同样的效果,还优化了ListView 存在的各种不?之处。?前 Android 官?更加推荐使?RecyclerView,未来也会有更多的程序逐渐从 ListView 转向 RecyclerView
RecyclerView 的基本?法
每当修改了任何 gradle ?件, Android Studio 都弹出?个
这个提?告诉我们, gradle ?件?上次同步之后?发?了变化,需要再次同步才能使项?正常?作。这?只需要点击“Sync Now” 就可以了,然后gradle会开始进?同步,把我们新添加的 RecyclerView 库引?项?当中。

?

RecyclerView尝试实现?下横向滚动的效果。 ?先要对fruit_item布局进?修改,因为?前这个布局??的元素是?平排列的,适?于纵向滚动的场景,?如果我们要实现横向滚动的话,应该把fruit_item ?的元素改成垂直排列才?较合理。
制作9-Patch图?
Android Studio 中,我们可以将任何 png 类型的图?制作成 9-Patch 图?。?先对着message_left.png 图?右击→Create 9-Patch fifile然后保持默认?件名就可以了,其实就相当于创建了?张以9.png为后缀的同名图?,点击“Save”完成保存。
按住 Shift 键拖动可以进?擦除我们绘制的小黑点
延迟初始化和密封类
延迟初始化使?的是 lateinit 关键字,它可以告诉 Kotlin 编译器,我会在晚些时候对这个变量进?初始化,这样就不?在?开始的时候将它赋值为null了。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
使? lateinit 关键字也不是没有任何?险,如果我们在 adapter变量还没有初始化的情况下就直接使?它,那么程序就?定会崩溃,并且抛出?个UninitializedPropertyAccessException 异常。
所以,当你对?个全局变量使?了 lateinit 关键字时,请?定要确保它在被任何地?调?之前已经完成了初始化?作,否则Kotlin 将?法保证程序的安全性。
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:18:57  更:2021-12-26 22:19:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:05:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码