Android手机应用开发(一) | 基本的UI界面设计
实验目的:
- 熟悉Android Studio开发工具操作。
- 熟悉Android Studio基本UI开发,并进行UI基本设计。
创建一个文本框 TextView
首先要清楚布局文件在哪里
用Android
模式查看项目结构,在layout
里面存放着app的所有布局,默认第一个页面就是activity_main.xml
那么就可以直接在这里面添加一些列界面元素了
<TextViewandroid:id="@+id/text" //表示它的id为text,放在id xml里,而且这是新加的id所以用+号android:layout_width="wrap_content" //这个是必须的,定义了组件的宽度android:layout_height="wrap_content"//这个也是必须的,定义了组件的高度android:text="@string/display_name"//这个定义了显示的文本为string的xml里的display_name字符串,这样有利于修改,其实也可以直接写android:textSize="20sp" //定义了文字的大小,一般用sp作单位android:layout_marginTop="20dp" //定义了组件距离上边界的空白,一般用dp作单位app:layout_constraintLeft_toLeftOf="parent"//约束布局:表明其左边界与父组件的左边对齐app:layout_constraintRight_toRightOf="parent"//约束布局:表明其右边界与父组件的右边对齐app:layout_constraintTop_toTopOf="parent" />//约束布局:表明其顶部与父组件的顶部对齐
这里有一点需要注意的
- 官方是建议使用
layout_marginEnd
和layout_marginStart
代替layout_marginLeft
和layout_marginRight
,说法是这样文字不论从左到右还是从右到左都不会出现问题,之前我还一直疑惑为什么又有Left
又有Start
,不知道该用什么,反正就按官方的做,不过有时候用不了?我还是用回了Left
和Right
创建一个图片块ImageView
一般来说图片文件放在mipmap
文件夹里,不过其实不止一个文件夹
这里的不同后缀代表不同的分辨率图片
不过一般的小程序放错了问题应该不大,反正都能找到(/emm)
然后在xml
这样引用这个图片
这里的sysu
是图片文件名,不带格式后缀!
<ImageView......android:src="@mipmap/sysu" />
创建一个输入框EditText
<EditText......android:layout_width="0dp"android:layout_height="wrap_content"android:gravity="center" //表示文字格式android:hint="@string/edit_text" //表示未输入时提示的文字app:layout_constraintTop_toBottomOf="@+id/image" /> //表示它始终位于组件`image`的下方
这里有一个小问题,我用的layout_width
是0dp
,它表示与外组件适应,这是因为如果我用的是wrap_content
,将会是这样的效果,因为文字只有七个字,这样以后文字多了它也会一直拉伸,很不美观
修改之后就是这样的了,它处于并将长期处于这个长度!
创建一系列单选按钮RadioButton
单选按钮组件是不能独立存在的,它需要一个组即RadioGroup
(因为一个按钮实在没什么意思),然后再在这个组里面创建需要数目的RadioButton
<RadioGroup......android:orientation="horizontal"><RadioButton......style="@style/AppTheme"/><!--设置默认选中--><RadioButton/><RadioButton /><RadioButton /></RadioGroup>
主要不同的就是需要确定其排列方向horizontal
或者vertical
而RadioButton
还可以指定style
,这里随便写了个系统默认的,如果没有特别好看的style
就不用写了吧【haha
效果如下
其实可以试用一下group的padding属性(因为我不太熟),我加了句android:padding="10dp"
之后,成了下面这个样子,确实内部边框都加粗了,不过我觉得还是用外边距Margin
和内边距Padding
其中一个就好了(针对我这种小应用),不然跟别的组件距离不好计算,用一个就能解决的话多好
每个小按钮可以设置其周围的margin
,当然可以设置不一致,难道还会担心group
包不下吗
创建一个简单按钮Button
<Button......android:background="@drawable/button_shape"android:textColor="@color/colorWhite"/>
主要有两个需要注意的属性
background
:这个是按钮文本的颜色,用的是colors.xml中定义的颜色
background
:说是叫按钮背景,其实差不多也是按钮样式了,因为默认按钮是这样的
想要有颜色的椭圆形按钮的话需要自己定义样式,在drawable
文件夹新建一个文件button_shape
,用下列代码就可以创建一个蓝色椭圆按钮了,其本质上是使长方形的边角弧度增大
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><solid android:color="#3F51B5" /> //指定颜色<corners android:radius="180dp" /> //指定弧度
</shape>
最后的样子就是这个样子
需要注意,xml是不能用
//
作为注释的,但是既然不是在代码里,用<-- -->
好麻烦,就用//
意思意思【傲娇
Android手机应用开发(一) | 基本的UI界面设计相关推荐
- Java开发关于UI界面_Android开发1:基本UI界面设计——布局和组件
前言 啦啦啦~本学期要开始学习Android开发啦~ 博主在开始学习前是完完全全的小白,只有在平时完成老师要求的实验的过程中一步一步学习~从此篇博文起,博主将开始发布Android开发有关的博文,希望 ...
- android美观项目界面,android(安卓)漂亮的完整UI界面设计
[实例简介] android 漂亮的UI界面 完整的界面设计 这是一个完整的UI设计,新建个项目,把这些东西拷进去就可以了,直接导入他找不到android的包. [实例截图] [核心代码] 漂亮的安卓 ...
- android和chrome的发展与未来[j].移动通信,基于Android手机app开发与设计 毕业设计 开题报告...
基于Android 手机app开发 电子同学录的设计与开发 四.检索与本课题有关参考文献资料的简要说明 [1] 成刚编. Eclipse 从入门到精通[M] . 北京:清华大学出版社,2005 [2] ...
- 高通Android手机软件开发培训
为期两天的高通Android手机软件开发培训结束了.这次高通针对QSC7x27/7x25/QSD8x50的基带芯片进行了两天的Android手机软件开发培训.参加人员都是我这样的各个OEM厂商的软件开 ...
- android 添加通讯录联系人头像,Android 手机通讯录开发时给联系人添加头像失败的坑...
Android 手机通讯录开发时给联系人添加头像失败的坑,在给联系人添加头像代码 Bitmap photo = ...; // 将 Bitmap 转为 byte[] byte[] bytes = Ls ...
- Android手机软件开发 课程 教学 大纲
<专业考证培训及考证>课程教学大纲 课程编号:024015 授课学时: 80 学分数: 4 适用专业:通信技术 一.课程的性质和任务 课程的性质: <专业考证 ...
- 浅谈android手机客户端开发
广州手机app客户端开发公司[启汇网络]企业开始注重Android手机客户端开发,源于android手机市场的庞大. 从android手机数量上看,三星无疑是推出 Android 移动设备最多的公司, ...
- android手机APP开发入门心得
android手机APP开发心得 http://blog.csdn.net/fubin0000 首先安装好开发环境(这个过程网络上资料太多了,我相信你搜一搜搭建好环境应该是小菜一碟),然后就是在ecl ...
- Android手机软件开发的前景
Android手机软件开发的前景 今天是3G 的年代,中国拥有超过7亿的手机用户,而全球更是将近50亿,这样一个庞大的用户市场.而随着运营商语音话费的下降,手机上的各类增值应用已经成为了这个行业各环节 ...
- android界面设计所用中文什么字体,手机软件中的字体是什么字体,ui界面设计用什么字体...
做移动UI设计的设计师肯定都知道,移动客户端的界面上做效果的时候提前找所用的字体,特别注意在windows下设计的字体和实际UI界面上显示的效果很大的差别. 项目开始时,设计师可以提前和开发沟通好,就 ...
最新文章
- 基于函数计算的 BFF 架构
- QML 性能优化建议(二)
- python环境变量的配置 alias_vim-python环境配置
- 华为背锅?微博大V质疑华为P30 Pro拍月亮造假 公司称误导观众已开除
- linux下svn服务器的安装配置和使用
- Jfinal中使用Ueditor遇到的问题【解决办法】
- 答非所问:产品质量怎样?发现了很多BUG
- 重返设计模式--命令模式
- 纯css饼图,使用css3画饼图
- 辟谣!微信支付宝收款码将不能用于经营性收款?
- 如何用WxJump解决微信二维码无法跳转
- uni-app 微信小程序启用组件按需注入
- 一毕业就上了艘“火箭”,这群校招生在大公司创业
- JavaSE基础(134) 打印流
- html中的keygen元素
- 服务器显示器蓝屏怎么解决
- 数值分析思考题(钟尔杰版)参考解答——第八章
- STM32硬件AES
- Android Studio报错 “java.lang.IllegalStateException: Room cannot verify the data integrity” 解决方法
- Netty聊天程序(2):从0开始实战100w级流量应用 - 图解Netty系列
热门文章
- OneNote PC端同步时遇到0×80004005
- 11行代码实现滚动公告栏
- 数据的存储------计算机中常见数据类型的存储方式(C语言解析)
- python车辆检测模型_使用OpenCV和Python构建自己的车辆检测模型
- 当上领导以后才明白的事情
- shell实现论坛灌水机
- Salt Returners-作业结果数据返回器的使用与定制开发方法
- 洛谷——P1560 [USACO5.2]蜗牛的旅行Snail Trails
- svn取消文件夹图标_TortoiseSVN文件夹及文件图标不显示解决方案
- CocosCreator快速接入bugly