美文网首页
Android入门总结-UI

Android入门总结-UI

作者: 克罗地亚催眠曲 | 来源:发表于2017-03-11 21:31 被阅读72次

最近看了一下Android,只看书不总结一下,总感觉东西并没有放在脑子里,人过留名,雁过留声,遂写下这篇总结。

书本看的是《Android编程兵书》,但这篇总结的大纲是按照《第一行代码》的章节目录撰写的。两本书的内容结构大致相同,Android入门的话只看其中一本就够了。

常见控件
1、TextView
属性:
text 指定内容;
grativity:对齐方式(center == center_vertical | center_horizontal)
textSize, textColor
2、Button:注册监听器可以使用匿名类或实现接口
3、EditText:hint属性,maxLines属性解决文字过多导致控件被拉伸
4、ImageView:src属性指定图片
5、ProgressBar
控件的三种可见属性:visible, invisible(控件不可见但仍占据位置), gone(控件不可见且不占据空间)
默认为圆形,style属性可指定为水平进度条并指定最大值,随后可动态更改进度条的进度
6、AlertDialog:当前界面弹出对话框,可屏蔽其它控件的交互能力

AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("this is a dialog");
dialog.setMessage("something important");
dialog.setCancel(false);
dialog.setPositiveButton("OK", new DialogInterface.OnClickListener(){
    public void onClick(DialogInterface dialog, int whick){

    }
});
dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){
    public void onClick(DialogInterface dialog, int whick){

    }
});
dialog.show();

若在setCancelable()中传入了false;表示dialog是不能通过Back键取消掉的
7、ProgressDialog:在对话框中显示一个进度条,让用户耐心等待。用法和AlertDialog类似

四种基本布局
布局是一种可用于放置很多控件的容器,它可以按照一定的规律调整内部控件的位置。布局之间可互相嵌套。

  1. LinearLayout:可指定排列方向
android:orientation="vertical"
android:orientation="horizontal"

注意:若排列方向为vertical,内部控件高度不能指定为match-parent,否则会导致其它控件没有位置可放。同理排列方向为horizontal时,内部控件的宽度不能指定为match-parent
LinearLayout关键属性
layout_gravity:指定控件在布局中的对齐方式,可选值:top, center_vertical, bottom。LinearLayout的排列方向时horizontal时,只有垂直方向的对齐才会生效,排列方向为vertical时,只有水平方向的对齐才会生效。
layout_weight:使用比例的方式指定控件的大小

  1. RelativeLayout
    指定和父容器的对齐关系
layout_alignParentLeft    layout_alignParentTop
layout_alignParentBottom    layout_centerInParent
//指定和其它控件的对齐关系
layout_above    layout_toLeftOf
layout_toRightOf    layout_below
layout_alignLeft    layout_alignRight
  1. FrameLayout: 无定位方式,所有控件都会摆放在左上角。Fragement组件使用该属性
  2. TableLayout:使用表格的方式排列控件
    属性
    stretchColumns属性用来拉伸某一列来适应屏幕宽度
  3. AbsoluteLayout:官方不推荐使用

创建自定义控件:可以用来解决重复为某种控件绑定相同的事件响应

最常用最难用的控件:ListView用于展示大量数据。默认可以的布局文件:android.R.layout.simple_list_item_1,里面只有一个TextView
定制ListView界面:

  • 定义一个实体类,作为ListView适配器的适配类型。
  • 为ListView的子项创建一个布局
  • 创建一个自定义的适配器,继承自ArrayAdpter,并指定泛型

提升ListView的运行

  • ArrayAdapter的getView方法有一个convertView参数,用于将之前加载好的布局进行缓存,以便以后
  • 使用viewHolder(新建一个内部子类)对控件的实例进行缓存,避免每次都通过findViewById()来获取控件的实例
    ListView的点击事件
    使用setOnItemClickListener()方法为ListView注册监听器

单位和尺寸
px:像素,即屏幕中可以显示的最小元素单元
pt:磅,一般用来做字体的单位

dp:密度无关像素,又称dip,它在不同密度的屏幕中显示比例保持一致。Android规定,在160dpi的屏幕上, 1dp = 1px,在320dpi的屏幕上,1dp = 2px。因此使用dp指定控件的宽高,可保证控件在不同密度的屏幕中显示比例保持一致。
sp:可伸缩像素,解决文字大小的适配问题
密度的概念:屏幕每英寸包含的像素数,通常以dpi为单位。可通过代码获得屏幕的密度值

float xdpi = getResources().getDisplayMetrics().xdpi;
float ydpi = getResources().getDisplayMetrics().ydpi;

Tips:
1、隐藏系统自带的标题栏

retuestWindowFeature(Window.FEATURE_NO_TITLE);

相关文章

  • Android入门总结-UI

    最近看了一下Android,只看书不总结一下,总感觉东西并没有放在脑子里,人过留名,雁过留声,遂写下这篇总结。 书...

  • 【Android】UI(一)Android UI 必知必会

    Android UI 必知必会 UI是Android入门学习重中之重的板块,是直接面向用户的门面。本章我们将着重学...

  • android干货

    Android gradle从入门到放弃(Li Wenjing) 几行代码快速实现滑动清屏效果!动态绑定清屏UI,...

  • Android开发课程

    本课程提供Android开发所需要的入门技能,目标是能够熟悉Android开发环境,熟悉常用UI空间,了解四大组件...

  • Android: UI总结

    总结一下UI的开发 参考:https://blog.csdn.net/qq_34681580/article/de...

  • 面试题专栏集合

    android面试 一份用心整理的Android面试总结 Android 目前最稳定和高效的UI适配方案 2018...

  • 2018 android 文章汇总

    Android面试:一份用心整理的Android面试总结 Android 目前最稳定和高效的UI适配方案 2018...

  • Android UIAutomator2.0入门

    Android UIAutomator2.0入门 Uiautomator是由谷歌推出的用于UI自动化测试的工具,花...

  • Android UI入门(开篇:写作目的)

    这个系列文章,就是个入门介绍。一般学过Android的完全没必要看,这个是给小白看的 什么是 Android UI...

  • Android UI测试入门

    UI测试 UI 测试是为了确保对于用户的UI动作,app能返回正确的UI输出。根据实际实现方案大体可以分为两种: ...

网友评论

      本文标题:Android入门总结-UI

      本文链接:https://www.haomeiwen.com/subject/peyzgttx.html