个人技术博客Alpha----Android Studio UI学习

项目联系

这次的项目我在前端组,负责UI,下面简略讲下学到的内容和使用AS过程中遇到的一些问题及其解决方法。

常见UI控件的使用

1.TextView

1226386-20171109233300388-488348124.png1226386-20171109233311341-1960318853.png
在TextView中,首先用android:id给当前控件定义一个唯一标识符。在活动中通过这个标识符对控件进行事件注册。android:layout_width和
android:layout_height指定了控件的宽度和高度。Android中所有控件都有这两个属性,可选值有match_parent和wrap_content。match_parent表示让当前控件和父布局大小一样,wrap_content表示让当前控件的大小能够刚好包含住里面的内容,也可以通过xxdp来自定义大小。通过android:text可以指定当前文本内容,android:textColor可以指定文字的颜色,android:textSize可以指定文字的大小,android:gravity可以指定文字的对齐方式,这里用的是center,表示水平和垂直方向都居中对齐。
以上是TextView的常用属性。还有android:textStyle可以指定文字的字体,可选值有bold加粗,italic斜体,normal常规,也可以从外部导入自己下载的酷炫字体,不过要在活动里写,这里就不详细说了。

2.Button

Button是程序和用户进行交互的重要控件。Button可配置的属性和TextView差不多,主要是Button里的android:text设置的文字会把所有英文自动进行大写转换,如果我们不想要全部大写,可以通过android:textAllCaps="false"来禁用这个默认特性
1226386-20171110001010372-542935783.png1226386-20171110001024981-546543558.png1226386-20171110001232841-404884759.png1226386-20171110001242716-102534527.png

3.EditText

EditText是程序和用户进行交互的另一个重要控件,它允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。我们可以使用android:hint属性指定提示文本,当我们输入任意内容时,提示文本会自动消失。在这里EditText指定的高度时wrap_content,它总能包含住里面的内容,但是随着内容的增多EditText会被不断拉长,当内容过多时界面就会很难看,这时候我们可以使用andriod:maxLines属性来指定EditText的行数。当输入的内容超过两行时,文本就会向上滚动,而EditText则不会继续拉伸。1226386-20171112201237981-1584527237.png1226386-20171112201247325-841056456.png

4.ImageView

ImageView是用来在界面上展示图片的控件。需要使用的图片要先放到drawable目录里,然后使用android:src属性指定我们要用的图片。
1226386-20171112202234888-992686618.png1226386-20171112202244669-924912139.png1226386-20171112202253809-1859167903.png

5.ProgressBar

ProgressBar用于在界面上显示一个进度条,表示我们的程序正在加载一些数据。
1226386-20171112205518044-522595597.png1226386-20171112205525169-1924257525.png

我们可以通过style属性将进度条指定成水平进度条,然后我们还可以通过android:max属性给进度条设置一个最大值。然后在代码中动态地更改进度条进度。
1226386-20171112225735669-471515165.png1226386-20171112225745200-165884647.png1226386-20171112225751481-1413607987.png

6.AlertDialog

AlertDialog可以在当前界面弹出一个置于所有界面元素之上的对话框,能够屏蔽掉其他控件的交互能力,一般用来提示一些重要的内容或者警告信息,比如防止用户误删重要内容,在删除前弹出一个确认框。
1226386-20171115173808421-1498844882.png1226386-20171115173821843-806025341.png

常用布局

1.线性布局Linearlayout

  • 线性布局是一种很常用的布局,它会将它所包含的控件在线性方向上依次排列,方向有垂直vertical和水平honrizontal两种。方向通过android:orientation属性来设定,如果不指定,默认的排列方式就是horizontal。
    1226386-20171115175419906-1150601177.png1226386-20171115175430015-19538928.png
  • 在线性布局里我们通过android:layout_gravity指定控件在布局中的对齐方式,可选值和android:gravity差不多。

  • 线性布局里有个属性非常重要————android:layout_weight(权重),通过它我们可以使用比例的方式来指定控件的大小。

1226386-20171116021304515-1311210069.png

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
xmlns:tools="http://schemas.android.com/tools"    
android:id="@+id/LinearLayout1"    
android:layout_width="match_parent"    
android:layout_height="match_parent"  
android:orientation="horizontal" >    <TextView    android:layout_weight="1"    android:layout_width="wrap_content"    android:layout_height="fill_parent"    android:text="one"     android:background="#98FB98"    />    <TextView    android:layout_weight="2"    android:layout_width="wrap_content"    android:layout_height="fill_parent"    android:text="two"     android:background="#FFFF00"    />    <TextView    android:layout_weight="3"    android:layout_width="wrap_content"    android:layout_height="fill_parent"    android:text="three"     android:background="#FF00FF"    />    

2.相对布局Relative

相对布局和线性布局相比显得比较随意,控件可以出现在任意的位置,所以它的属性非常的多,这里贴张菜鸟教程里的学习图
1226386-20171116022455077-301034060.png
其实layout_marginLeft、 layout_marginStart 、 layout_marginTop三个属性搭配基本就可以任意指定控件的位置了

遇到的错误及解决

1.

有些机子3.0版本的as会出现这个错误,项目刚创建完就报错。具体的原因还不太清楚,网上有人是说图片的合法性检测,可这个项目是空的。。。

Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:mergeDebugResources'.> Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details

解决很简单,只要在项目的gradle.properties中加入这句代码即可:

android.enableAapt2=false

2.

重新打开我们的项目时,有时候会有莫名报错或者模拟器运行跑不起来,经过检查如果不是语法错误之类的可以先clean project 再rebuild project ,这个方法解决了许多看不懂的报错。。。

收获

通过这个项目接触了as,算是初步认识了一个新工具,还有GitHub的使用。最重要的收获还是因为这个项目真正体验了软件开发的过程,对软件工程有了一个大致的认识。

转载于:https://www.cnblogs.com/noodlehouse/p/7812130.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/390850.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据科学家数据分析师_站出来! 分析人员,数据科学家和其他所有人的领导和沟通技巧...

数据科学家数据分析师这一切如何发生&#xff1f; (How did this All Happen?) As I reflect on my life over the past few years, even though I worked my butt off to get into Data Science as a Product Analyst, I sometimes still find myself begging the question, …

leetcode 810. 黑板异或游戏

黑板上写着一个非负整数数组 nums[i] 。Alice 和 Bob 轮流从黑板上擦掉一个数字&#xff0c;Alice 先手。如果擦除一个数字后&#xff0c;剩余的所有数字按位异或运算得出的结果等于 0 的话&#xff0c;当前玩家游戏失败。 (另外&#xff0c;如果只剩一个数字&#xff0c;按位异…

react-hooks_在5分钟内学习React Hooks-初学者教程

react-hooksSometimes 5 minutes is all youve got. So in this article, were just going to touch on two of the most used hooks in React: useState and useEffect. 有时只有5分钟。 因此&#xff0c;在本文中&#xff0c;我们仅涉及React中两个最常用的钩子&#xff1a; …

分析工作试用期收获_免费使用零编码技能探索数据分析

分析工作试用期收获Have you been hearing the new industry buzzword — Data Analytics(it was AI-ML earlier) a lot lately? Does it sound complicated and yet simple enough? Understand the logic behind models but dont know how to code? Apprehensive of spendi…

select的一些问题。

这个要怎么统计类别数呢&#xff1f; 哇哇哇 解决了。 之前怎么没想到呢&#xff1f;感谢一楼。转载于:https://www.cnblogs.com/AbsolutelyPerfect/p/7818701.html

html5语义化标记元素_语义HTML5元素介绍

html5语义化标记元素Semantic HTML elements are those that clearly describe their meaning in a human- and machine-readable way. 语义HTML元素是以人类和机器可读的方式清楚地描述其含义的元素。 Elements such as <header>, <footer> and <article> …

重学TCP协议(12)SO_REUSEADDR、SO_REUSEPORT、SO_LINGER

1. SO_REUSEADDR 假如服务端出现故障&#xff0c;主动断开连接以后&#xff0c;需要等 2 个 MSL 以后才最终释放这个连接&#xff0c;而服务重启以后要绑定同一个端口&#xff0c;默认情况下&#xff0c;操作系统的实现都会阻止新的监听套接字绑定到这个端口上。启用 SO_REUSE…

残疾科学家_数据科学与残疾:通过创新加强护理

残疾科学家Could the time it takes for you to water your houseplants say something about your health? Or might the amount you’re moving around your neighborhood reflect your mental health status?您给植物浇水所需的时间能否说明您的健康状况&#xff1f; 还是…

POJ 3660 Cow Contest [Floyd]

POJ - 3660 Cow Contest http://poj.org/problem?id3660 N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we all know, some cows code better than others. Each cow has a certain constant skill rating that is un…

Linux 网络相关命令

1. telnet 1.1 检查端口是否打开 执行 telnet www.baidu.com 80&#xff0c;粘贴下面的文本&#xff08;注意总共有四行&#xff0c;最后两行为两个空行&#xff09; telnet [domainname or ip] [port]例如&#xff1a; telnet www.baidu.com 80 如果这个网络连接可达&…

JSON.parseObject(String str)与JSONObject.parseObject(String str)的区别

一、首先来说说fastjson fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器&#xff0c;来自阿里巴巴的工程师开发。其主要特点是&#xff1a; ① 快速&#xff1a;fastjson采用独创的算法&#xff0c;将parse的速度提升到极致&#xff0c;超过所有基于Java的jso…

jQuery Ajax POST方法

Sends an asynchronous http POST request to load data from the server. Its general form is:发送异步http POST请求以从服务器加载数据。 其一般形式为&#xff1a; jQuery.post( url [, data ] [, success ] [, dataType ] )url : is the only mandatory parameter. This…

spss23出现数据消失_改善23亿人口健康数据的可视化

spss23出现数据消失District Health Information Software, or DHIS2, is one of the most important sources of health data in low- and middle-income countries (LMICs). Used by 72 different LMIC governments, DHIS2 is a web-based open-source platform that is used…

01-hibernate注解:类级别注解,@Entity,@Table,@Embeddable

Entity Entity:映射实体类 Entity(name"tableName") name:可选&#xff0c;对应数据库中一个表&#xff0c;若表名与实体类名相同&#xff0c;则可以省略。 注意&#xff1a;使用Entity时候必须指定实体类的主键属性。 第一步&#xff1a;建立实体类&#xff1a; 分别…

leetcode 1707. 与数组中元素的最大异或值

题目 给你一个由非负整数组成的数组 nums 。另有一个查询数组 queries &#xff0c;其中 queries[i] [xi, mi] 。 第 i 个查询的答案是 xi 和任何 nums 数组中不超过 mi 的元素按位异或&#xff08;XOR&#xff09;得到的最大值。换句话说&#xff0c;答案是 max(nums[j] XO…

MySQL基础入门学习【2】数据类型

数据类型&#xff1a;指列、存储过程参数、表达式和局部变量的数据特征&#xff0c;它决定了数据的存储格式&#xff0c;代表了不同的信息类型 &#xff08;1&#xff09; 整型(按存储范围分类)&#xff1a;TINYINT&#xff08;1字节&#xff09; SAMLLINT&#xff08;2字节&am…

昆西·拉森的净资产是多少?

People ask me how much I get paid all the time. It comes up on podcast interviews, Quora questions, and face-to-face discussions.人们问我&#xff0c;我一直得到多少报酬。 它来自播客访谈&#xff0c;Quora问题和面对面的讨论。 And people search this question a…

COVID-19研究助理

These days scientists, researchers, doctors, and medical professionals face challenges to develop answers to their high priority scientific questions.如今&#xff0c;科学家&#xff0c;研究人员&#xff0c;医生和医学专家面临着挑战&#xff0c;无法为其高度优先…

Node.js umei图片批量下载Node.js爬虫1.00

这个爬虫在abaike爬虫的基础上改改图片路径和下一页路径就出来了&#xff0c;代码如下&#xff1a; // // umei图片批量下载Node.js爬虫1.00 // 2017年11月13日 //// 内置http模块 var httprequire("http");// 内置文件处理模块&#xff0c;用于创建目录和图片文件 v…

交通银行信息技术管理部副总经理张漫丽:交通银行“大数据+人工智能”应用研究...

文 | 交通银行信息技术管理部副总经理张漫丽 大数据隐含着巨大的社会、经济、科研价值&#xff0c;已引起了各行各业的高度重视。如果能通过人工智能技术有效地组织和使用大数据&#xff0c;将对社会经济和科学研究发展产生巨大的推动作用&#xff0c;同时也孕育着前所未有的机…