APP界面设计 大概总结
APP界面设计大概总结
首先,你得有个Android Studio
其次,你得学会有耐心的对它
最后,要适应它习惯它了解它
来看看APP的基本步骤
先有资源 再是界面布局 下来承载布局Activity 然后些时间逻辑...
本次任务的布局用的是LinearLayout线性布局
从基本控件说起,常用的界面控件还是蛮多的,我们学了其中主要的几个,剩下的就是自己去攻克了。
TextView 控件
常用属性在这里就不写了,本来打字速度就不快,书本上 度公子那里都是能找到的
所以来看它的表现形式就好
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/ym1"
android:background="#DBDBDB"
android:gravity="center"
android:text="李易峰的羊毛已上线"
android:textSize="22sp"/>
EditText 控件
常用属性也就不写了
来看看表现形式
<EditText
android:id="@+id/ev_userName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入羊毛通行证"/>
<EditText
android:id="@+id/ev_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入你的密码哦" />
EditText是一个重要的控件,是用户和Android应用进行数据传输的窗户,它是TextView的子类
两者属性基本相似,但TextView是显示文本,无法输入,EditText时输入框。
Button控件
它是一种按钮控件,在该控件上单击,能引发相应事件处理函数
<Button
android:id="@+id/btn_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="进入羊圈中"
android:textSize="20dp"
/>
Button 的使用方法有好几种,大家课本上也是有的,这可是要记住的,你们也都迟早会背过的,我就不详细写了,勤劳点,动动小手。
在这里放个小例子好了
protected void onCreate(Bundle savedInstanceState) {
//onCreate:创建界面上的所有组件,输入框对象,按钮对象,按钮的监听事件
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
evuserName = (EditText) findViewById(R.id.ev_userName);
evpassword = (EditText) findViewById(R.id.ev_password);
btnlogin = (Button) findViewById(R.id.btn_main);
btnlogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String uerName = evuserName.getText().toString();
String password = evpassword.getText().toString();
Toast.makeText(MainActivity.this,"通行证:"+uerName +"密码:"+password,Toast.LENGTH_LONG).show();
}
});
}
以上基本控件运用熟练,一个简单的登录界面也就出来了,其他就自己发挥想象力咯
接下来是个人信息维护界面
布局依旧是那样的线性布局,也同样的用了上述的基本控件,但在那基础上还增加了一些用于显示头像,进行多选或单选的控件。
我想吃饺子
ImageView控件
用于展示图片的控件 可显示静态图片,亦可显示动态图片
那么 常用属性 老规矩 有书的看书,没书的问问度公子,这都是要记得,啊哈
<ImageView
android:layout_width="210sp"
android:layout_height="108sp"
android:layout_gravity="center"
android:src="@drawable/btm1" />
其中关键属性android:src 用于设置在其控件中展示什么图片,可以通过XML或代码赋值,在Android中推荐使用PNG图片。
好想吃甜品
RadioButton控件
此控件是一个单选按钮,用于单选场景,需要同RadioGroup控件一同使用方可实现单选
RadioGroup是单选组合框,在没有它的情况下,RadioButton就可以全部选中了,没有例外,
而在 多个RadioButton被它包含的情况下,RadioButton就只能选一个了...
就像在下面 性别中男和女只能选一个。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="性 别:"
android:textSize="22sp"/>
<RadioGroup
android:id="@+id/rg_sex"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<RadioButton
android:id="@+id/yy_male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:textSize="22sp"/>
<RadioButton
android:id="@+id/yy_female"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"
android:textSize="22sp"/>
</RadioGroup>
btnConfirm.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
String name = etName.getText().toString();
String sex = "";
int id = rgSex.getCheckedRadioButtonId();
if (id == R.id.yy_male) {
sex = yyMale.getText().toString();
} else if (id == R.id.yy_female) {
sex = yyFemale.getText().toString();
}
那我们上面说了还要实现多选的效果呢,就好像喜欢的东西不会只有一个,在代码中也是必须有多选的
CheckBox控件
此控件可以用于多选的场景,也可用于只有一个选项的情况,如问今天中午买草莓你是否同意
它的关键属性有以下四种
1.android:text:用于设置CheckBox控件提示文字
2.android:checked="true" 用于设置此标签的初始状态为选中
3.isChecked():用于判断按钮是否处于被选中状态
4.setChecked(Boolean flag): 通过传递一个布尔参数来设置按钮的状态
呐呐 就像下面这样
<CheckBox
android:id="@+id/chk_java"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="Java"/>
<CheckBox
android:id="@+id/chk_Dance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="Dance"/>
<CheckBox
android:id="@+id/chk_Math"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="Math"/>
if (chkJava.isChecked()) {
likedCourses += chkJava.getText().toString() + ",";
}
来来来 让眼睛舒服一下

那么 接下来 回到主题
来看看Android的常用事件
常见事件的说明 老规矩 基本知识 就不用我慢慢打出来了
进入正题 触屏与键盘事件
onTouchEvent事件
它是手机屏幕事件的处理方法应用程序可以通过该方法处理手机屏幕的触摸事件
public boolean onTouchEvent(MotionEvent event) {
一般在Activity类中重写该方法
触屏事件的练习
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
float x = event.getX();
float y = event.getY();
imageView.setPadding((int)x-111,(int)y-211,0,0);
String pos = "x坐标:" + x + "y坐标:" + y;
Toast.makeText(this, pos, Toast.LENGTH_SHORT).show();
}
return super.onTouchEvent(event);
}
键盘事件
它主要用于对键盘事件的监听,根据用户输入内容对键盘事件进行跟踪,也就是去触发事件
它使用View.OnKeyListener接口进行事件处理 定义如下
public class interface View.OnKeyListener{
public boolean OnKey(View.v,int keyCode,KeyEvent event){
}
}
最后的菜单与消息通知
好想吃眼前的面包
菜单
具体使用方法
1.创建布局文件
2.在该布局上加载菜单
public boolean onCreateOptionsMenu(Menu menu) {
//动态添加菜单项
// menu.add(Menu.NONE, Menu.FIRST + 1, 1, "保存").setIcon(android.R.drawable.ic_menu_save);
// menu.add(Menu.NONE, Menu.FIRST + 2, 3, "删除").setIcon(android.R.drawable.ic_menu_save);
// menu.add(Menu.NONE, Menu.FIRST + 3, 2, "打开").setIcon(android.R.drawable.ic_menu_save);
// //2.子菜单
// SubMenu subMenu = menu.addSubMenu("子菜单");
// subMenu.add(0,101,0,"子菜单1");
// subMenu.add(0,102,0,"子菜单2");
//getMenuInflater().inflate(R.menu.main, menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}
3.为菜单项注册事件
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case Menu.FIRST + 1:
case Menu.FIRST + 2:
case Menu.FIRST + 3:
Toast.makeText(this, item.getTitle().toString() + "菜单被单击了", Toast.LENGTH_LONG).show();
break;
对话框
Android中主要对话框有以下几种
1.AlertDialog:一个可以拥有0,1,2,或3个按钮的对话框,它里面的内容可以是文本、checkbox,或radio的listview,它是一个进场被用到的dialog。
2.progressdialog:一个窗体内部是progress的dialog,它继承了AlertDialog,所以它拥有的按钮和AlertDialog一样。
3.datepickerdialog:一个提供选择日期功能的dialog
4.timepickdialog:一个提供选择时间功能的dialog
这是书上的基本知识,通过书本了解 我没力气打字了...
然后AlterDialog.Builder类常用方法在书本上也是有的 老规矩 基础知识自己记吧
例子来了...
//创建一个普通的Dialog
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
//给builder设值
builder.setTitle("关于");
builder.setIcon(R.drawable.btm1);
builder.setMessage("版本为1.0");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
builder.setNeutralButton("退出", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
MainActivity.this.finish();
}
});
//创建并显示
builder.create().show();
break;
}
return super.onOptionsItemSelected(item);
}
消息通知
咳咳 这里我没印象自己学过,也就不会了,更不会写总结了,那此次任务的总结就暂时到这里了
嗯 辛苦我了 写总结真不容易 想喝粥了

APP界面设计 大概总结的更多相关文章
- 26款能够吸引用户的 iPhone App 界面设计
在这个移动互联网告诉的时代,众多的移动应用程序涌现出来.谁能抓住用户的注意力,谁就有可能成功.在下面这些移动 App 界面设计中,你可以看到不同创意类型的视觉效果,让你获得灵感. 您可能感兴趣的相关文 ...
- APP设计尺寸规范大全,APP界面设计新手教程【官方版】(转)
正值25学堂一周年之际,同时站长和APP设计同仁们在群里(APP界面设计 UI设计交流群,APP界面设计⑥群 APPUI设计③群58946771 APP设计资源⑤群 386032923欢迎大家加入交流 ...
- 最实用的APP界面设计知识,有温度的APP设计(转)
在逛简书的时候,无意之间看到了这样的一篇非常有意思的app设计博文.顾25学堂的摘录了其中的一些关于移动端APP界面设计的精华.分享给25学堂的app设计师们. 当然,下面的这些app设计知识点是来自 ...
- [UI] APP界面设计流程
此教程从交互开始进行APP界面设计,主要是一个流程,还是值得童鞋们学习一下的.包括:1.交互流程设计:2.风格定位:3.功能icon设计:4.界面视效整体优化:5.应用icon设计.
- app界面设计字体规范
通过对不同类型的app进行总结,总结出app的字体规范. 一.字体选择 1.IOS:苹果ios 9系统开始,系统最新的默认中文字体是:苹方.英文字体是: San Francisco 2.Android ...
- 20款优秀的国外 Mobile App 界面设计案例
在下面给大家分享的移动应用程序界面设计作品中,你可以看到不同创意类型的视觉效果.如果你想获得灵感,那很有必要看看下面20个优秀用户体验的移动应用 UI 设计.想要获取更多的灵感,可以访问移动开发分类, ...
- APP界面设计之页面布局的22条基本原则
移动 APP 页面布局(Layout)是我们设计 app 界面的时候,最主要的设计任务.一个 app 的好与不好,很大部分取决于移动 APP 页面布局的合理性. 下图为 APP 最原始的布局模型. 页 ...
- 2013移动APP界面设计趋势与设计理念
用户是上帝,一切还得从应用说起.为此,国外著名的应用设计师Gannon Burgett结合自己多年实战经验归纳总结了2013年App设计发展的13大趋势.我们应该时刻记着这13点. 1.扁平化设计—— ...
- 菜鸟对APP界面设计的一些心得小结
1. 前言 当我看着我以前做的一些app界面,我意识到我应该把我的界面设计能力水平再提升一个,因为实在是丑啊!贴一些以前的设计: 现在看来,是不能看的了.我主要是做需求设计,后面也有一些美工的工作,我 ...
随机推荐
- JSFL元件类型判断 转载于 https://blog.csdn.net/linking530/article/details/8364600
//获取舞台上第一层第一帧上的全部元件 var els = fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements; //遍历元件 ...
- JS防抖与节流函数封装
防抖 在监听scroll事件的时候经常会用到防抖,当滚动到某一位置而触发状态,从而不会出现频繁滚动持续触发事件的情况 防抖的事件处理机制仅触发一次且必须是结束状态下才会执行 function debo ...
- WebApp与Native App有何区别呢?
Native App(其实就是用java其他语言开发的安卓系统或ios系统): 1.开发成本非常大. 一般使用的开发语言为JAVA.C++.Objective-C. 2 ...
- centos7下部署mariadb+galera数据库高可用集群
[root@node1 ~]# cat /etc/yum.repos.d/mariadb.repo # MariaDB 10.1 CentOS repository list - created 20 ...
- python学习Day12 函数的默认值、三元表达式、函数对象(函数名)的应用场景、名称空间与作用域
复习 1.字符串的比较: -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 2. 函数的参数 : 1)实参与形参: -- 形参:在函数定义时()中出现的参数 ...
- 交叉熵理解:softmax_cross_entropy,binary_cross_entropy,sigmoid_cross_entropy简介
cross entropy 交叉熵的概念网上一大堆了,具体问度娘,这里主要介绍深度学习中,使用交叉熵作为类别分类. 1.二元交叉熵 binary_cross_entropy 我们通常见的交叉熵是二元交 ...
- python2与python3的区别
print 函数(Python3中print为一个函数,必须用括号括起来:Python2中print为class)在Python 2.6与Python 2.7里面,以下三种形式是等价的: print ...
- 使用电脑ODBC测试数据库连接方法
使用电脑ODBC测试数据库连接方法 一.打开电脑的控制面板——管理工具——数据源(ODBC),在用户dsn页面中点击添加按钮,选择IBM DB2 ODBC DRIVER,点击完成. 二.在弹出的配置页 ...
- 写给自己的小CASE
一时的完美不代表什么,重要的是不断地学习和成长:直面挑战,不断进取. 摘自<看见成长的自己>.
- 解决layui table方法渲染时时间格式问题
在显示时间时没有成功 ,{field:'showTime',title:'要显示的时间'} 崎岖过程就不详述了,直接上干货 @官网相关文档1.@官网相关文档2.@参考文章1.@参考文章2 浏览了很多资 ...