Android前端学习笔记
Android项目结构:
一.Drawable和mipmap的区别:
1.9-Patch图片和Shape资源文件只能放在drawable目录中,可拉伸不会变形
2.需要适应屏幕分辨率的图片推荐放在mipmap目录中,可以提高显示性能,占用内存更少
ps:注意图片名不能用小写,不然写入代码的时候会报错
UI设计:
UI:用户界面
View类位于android.view包中;
view类的子类一般都位于android.widget包中
View类常用属性:
①android:id属性
android:id="@+id/user" 只有user部分是可变的,其他部分是固定的
②android:background属性
android:background="@mipmap/bg" 要把bg存放在mipmap目录中才可以使用
android:background="#FF6600"
③android:padding属性(设置标签上下左右的内边距)
android:padding="16dp" //设置的内边距是一样的
设置内边距不一样:android:paddingLeft;android:paddingTop;android:paddingRight;android:paddingBottom;
ViewGroup控制其子组件分布时依赖的内部类:
①ViewGroup.LayoutParams类
android:layout_height /*设置长和高具体属性值*、
android:layout_width
MATCH_PARENT //设置组件的宽度与父容器相同
WRAP_CONTENT //包裹其自身内容
②ViewGroup.MarginLayoutParams类 //设置组件外边距
android:layout_marginTop
android:layout_marginBottom
android:layout_marginLeft,android:layout_marginStart
android:layout_marginRight,android:layout_marginEnd
常用的布局管理器:
01:RelativeLayout(相对布局管理器):RelativeLayout标签
RelativeLayout.LayoutParams:①android:layout_above
②android:layout_below
③android:layout_toLeftof
④android:layout_toRightof
.........................
02: LinearLayout(线性布局管理器)实现了微信登录界面
03: FrameLayout(帧布局管理器):android:foreground:设置前景图像
android:foregroundGravity:设置前景图像的位置
04: TableLayout(表格布局管理器)
05: GridLayout(网格布局管理器):GridLayout标记:
android:columnCount:指定网格最大列数
android:orientation
06: ConstraintLayout(约束布局):可视化方式编写页面布局,拖拽式
常用的UI组件:
01:TextView(文本框组件)
02:EditText(编辑框组件):hint属性,提示信息
inputtype属性,像textPassword设置为密码框
drawableLeft/drawableStart属性,在编辑框左侧绘制图像
drawableBottom
drawableEnd/drawableRight
drawableTop
lines属性,行数,超过规定的行数自动向上滚动
03:Button(普通按钮):为普通按钮添加单击事件监听器
①匿名内部类作为单击事件监听器
②通过onClick属性实现:1.在Activity中编写一个包含View类型参数的方法public void myClick(View view){}
2.将android:onClick属性指定为步骤(1)中的方法名android:onClick="myClick",在activity中实现这个click方法:public void click(View v){Log.i("指定onClick属性方式","button is clicked");}
04:ImageButton(图片按钮):
ImageButton和Button的区别:相同点:单机时都可以触发onClick事件
不同点:ImageButton没有android:text属性
给图片设置成透明的background属性:#0000透明色
05:RadioButton(单选按钮)搭配RadioGroup实现
06:CheckBox(复选框)
07:DatePicker(日期选择器)
08:TimePicker(时间选择器)
09:Chronometer(计时器):①setBae():设置计时器的起始时间
②setFormat():设置显示时间格式
③start():指定开始计时
④stop():指定停止计时
⑤setOnChronometerTickListener():为计时器绑定事件监听器,当计时器改变时触发该监听器
高级UI设置:
01:ProgressBar(进度条属性),默认圆形转圈圈:style属性值:①?android:attr/progressBarStyleHorizontal(细水平长条进度条)
②?android:attr/progressBarStyleSmall(小圆形进度条)
③?android:attr/progressBarStyleLarge(大圆形进度条)
④@android:style/Widget.ProgressBar.Horizontal
⑤@android:style/Widget.ProgressBar.Large(大粗圆形进度条)
⑥@android:style/Widget.ProgressBar.Small(小细圆形进度条)
02:SeekBar(拖动条组件)
03:RatingBar(星级评分条):①numStars属性(设置星星个数)
②rating属性(默认星星个数)
③stepSize属性(半颗半颗选择还是一颗一颗选择)
④isIndicator属性(设置为true,就不能改变了)
04:ImageView(图像视图组件):①src属性(为图像视图指定要显示的图片)
②scaleType属性(fitXY长和宽独立缩放)
05:ImageSwitcher(图像切换器)
06:GridView(网格视图):①numColumns属性(设置列数)
07:Spinner(下拉列表框):①entries属性(指定数组资源)
08:ListView(列表视图)
09:ScrollView(垂直方向上滚动视图)
10:HorizontalScrollView(水平方向上滚动视图)
11:TabHost(选项卡):①第一步:在布局文件中添加TabHost,TabWidget和TabContent组件
②第二步:编写各标签页的XML布局文件
③第三步:获取并初始化TabHost组件
④第五步:为TabHost对象添加标签页
本文来自博客园,作者:Athena-ydy,转载请注明原文链接:https://www.cnblogs.com/Athena-ydy/p/16423757.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探