Android-基础|青训营笔记
这是我参加「第四届青训营」笔记创作活动第十二天
滚动视图
- 垂直方向滚动时,layout_width属性值设置为match_parent,layout_height属性值设置为wrap_content。
- 水平方向滚动时,layout_width属性值设置为wrap_content,layout_height属性值设置为match_parent。
- 滚动视图节点下面必须且只能挂着一个子布局节点,否则会在运行时报错Caused by:java.lang.IllegalStateException:ScrollView can host only one direct child。
按钮Button
textAllCaps属性
- 对于TextView来说,text属性设置了什么文本,文本视图就显示什么文本。但对于Button来说,不管text属性设置的是大写字母还是小写字母,按钮控件都默认转成大写字母显示。
onClick属性
- onClick属性便用来接管用户的点击动作,该属性的值是个方法名,也就是当前页面的Java代码存在这么
一个方法:当用户点击按钮时,就自动调用该方法。禁用与恢复按钮按钮先后拥有两种状态,即不可用状态与可用状态,它们在外观和功能上的区别如下:
- 不可用按钮:按钮不允许点击,即使点击也没反应,同时按钮文字为灰色。
- 可用按钮:按钮允许点击,点击按钮会触发点击事件,同时按钮文字为正常的黑色。缩放类型的取值说明
ImageButton和Button差异:
- Button既可显示文本也可显示图片(通过setBackgroundResource方法设置背景图片),而
- ImageButton只能显示图片不能显示文本。
- ImageButton上的图像可按比例缩放,而Button通过背景设置的图像会拉伸变形,因为背景图采取fitXY方式,无法按比例缩放。
- Button只能靠背景显示一张图片,而ImageButton可分别在前景和背景显示图片,从而实现两张图片叠加的效果。
图标属性说明
- drawableTop:指定文字上方的图片。
- drawableBottom:指定文字下方的图片。
- drawableLeft:指定文字左边的图片。
- drawableRight:指定文字右边的图片。
- drawablePadding:指定图片与文字的间距。
Android控件:
- 线性布局LinearLayout:因为计算器界面整体从上往下布局,所以需要垂直方向的LinearLayout。
- 网格布局GridLayout:计算器下半部分的几排按钮,正好成五行四列表格分布,适合采用
- GridLayout。
- 滚动视图ScrollView:虽然计算器界面不宽也不高,但是以防万一,最好还是加个垂直方向的
- ScrollView。
- 文本视图TextView:很明显顶部标题“简单计算器”就是TextView,且文字居中显示;标题下面的计算结果也需要使用TextView,且文字靠右靠下显示。
- 按钮Button:几乎所有的数字与运算符按钮都采用了Button控件。
- 图像按钮ImageButton:开根号的运算符“√”虽然能够打出来,但是右上角少了数学课本上的一横,所以该按钮要显示一张标准的开根号图片,这用到了ImageButton。
非法的按健输入例如以下情况
- 被除数不能为零。
- 开根号的数值不能小于零。
- 不能对零求倒数。
- 一个数字不能有两个小数点。
- 如果没输入运算符,就不能点击等号按钮。
- 如果没输入操作数,也不能点击等号按钮。
每个shortcut节点都代表了一个菜单项,该节点的各属性说明如下:
- shortcutId:快捷方式的编号。
- enabled:是否启用快捷方式。true表示启用,false表示禁用。
- icon:快捷菜单左侧的图标。
- shortcutShortLabel:快捷菜单的短标签。 shortcutLongLabel:快捷菜单的长标签。优先展示长标签的文本,长标签放不下时才展示短标签的文本
- drawable目录
- drawable-ldpi里面存放低分辨率的图片(如240×320),现在基本没有这样的智能手机了。
- drawable-mdpi里面存放中等分辨率的图片(如320×480),这样的智能手机已经很少了。
- drawable-hdpi里面存放高分辨率的图片(如480×800),一般对应4英寸~4.5英寸的手机(但不绝对,同尺寸的手机有可能分辨率不同,手机分辨率就高不就低,因为分辨率低了屏幕会有模糊的感觉)。
- drawable-xhdpi里面存放加高分辨率的图片(如720×1280),一般对应5英寸~5.5英寸的手机。
- drawable-xxhdpi里面存放超高分辨率的图片(如1080×1920),一般对应6英寸~6.5英寸的手机。
- drawable-xxxhdpi里面存放超超高分辨率的图片(如1440×2560),一般对应7英寸以上的平板电脑。