从继承关系来看,所有组件继承自View。容器也是继承自View,它能容纳别的View。

所有容器继承自ViewGroup。包括

FrameLayout, LinearLayout, RelativeLayout, SlidingDrawer , AbsoluteLayout, AdapterView

Activity中绑定容器的方法 setContentView(linearLayout)

获取activity最顶层的view
findViewById(android.R.id.content);
getWindow().getDecorView();
一般是viewgroup

2018-08-28

以为View就是类似于h5里面的div,然后用View去包TextView,总是报错,后来才知道View就是一个组件,不是容器。

View在线性布局中有一个好处,就是占位,

    <LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<View
android:layout_width="0dp"
android:layout_weight="10"
android:layout_height="0dp"></View>
<TextView
android:layout_width="50dp"
android:background="@color/red"
android:layout_weight="1"
android:layout_marginRight="0dp"
android:layout_height="50dp" />
</LinearLayout>

比如这个,TextView我想右边排,直接右边排是不行的,要在它前边放一个VIew作填充,把它的权重设低点,TextView权重设高点就行了。

原来这个dp和网页的px一样的,我的360N5手机,都是360px(dp)的宽。

在LinearLayout中

android:layout_marginBottom没效果,要用android:layout_gravity="bottom"(重心)
icon图标还是要贴边切,并且透明png
如果是正方形,可通过
android:padding="5dp"改变值,控制它居中显示的大小。

2018-08-29

相对布局中,这两个属性要同时设置好。

android:layout_alignParentRight="true"
android:layout_marginRight="0dp"

FrameLayout布局

以左上角为坐标,不断地把view叠起来。如果后面的没有档到前面的,前面的也会显示出来。

从xml里读布局文件并实例化。

inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(
R.layout.activity_alarm_message_item, null);

Android界面设计的更多相关文章

  1. android 界面设计基本知识Ⅲ

    本章继续讲述在android界面设计中相关的知识点.介绍内容包括BroadcastReceiver(广播),Service(服务),Widget(小部件),WebView(网页加载控件). 1.Bro ...

  2. android界面设计之布局管理

    谈到android界面设计,各种布局样式不得不提!传统的布局方式有6种,我们会一一介绍. 在android studio2.2版本之后出现了一款超棒的布局方式,真正意义上的所见即所得,后面我们也会讲到 ...

  3. Android界面设计适配不同屏幕的尺寸和密度解读

    Android是运行在各种提供不同的屏幕尺寸和密度的设备.Android系统提供跨设备的统一开发环境和处理大部分的工作,以调整每个应用程序的用户界面,以在其上显示的画面. 同时,该系统提供了API,允 ...

  4. android 界面设计基本知识Ⅱ

    上一章讲述了Android界面设计时,一些基本控件的使用,本章主要讲述自定义控件,Fragment和Headler线程机制. 1.自定义控件 (1)基本知识 dp.sp和dx      px:像素点  ...

  5. android 界面设计基本知识

    一个好的APP不仅有美观,好看的界面,更需要良好的性能和稳定性.作为一名开发人员,需要理解界面设计原则并写出优秀的界面设计代码. 本章主要讲述基本控件的使用,界面布局及一些常用的界面设计属性. 1.常 ...

  6. Android界面设计之对话框——定制Toast、AlertDialog

    一.概述 在界面设计中需要根据用户操作显示提示信息.出错信息等,就要用到对话框.Android实现提示信息显示常用有两种方式 1.Toast 2.AlertDialog 二.Toast Android ...

  7. 让你大开眼界的10款Android界面设计

    根据调查显示, iOS与Android的市场份额差距正越来越大.Android设备正在成为手机应用市场的主力军.如何从设计层面创造一个优美的app界面来吸引用户已然成为广大App开发者们必做的功课之一 ...

  8. 第三篇-以LinearLayout进行Android界面设计

    一.新建一个项目 选择empty activity,此时项目里面没有main.java的文件. 二.手动创建java文件 Project那儿选择android模式,在app/java/com....一 ...

  9. 第四篇-以ConstraintLayout进行Android界面设计

    此文章基于第三篇. 一.新建一个layout.xml文件,创建方法不再赘述,在Design界面右击LinearLayout,点击Convert LinearLayout to ConstraintLa ...

  10. android 界面设计

    wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = new DisplayMetric ...

随机推荐

  1. HAproxy使用

    参考官网 安装HAproxy/ pull 官方镜像 本地安装:本地安装路径:/usr/local/haproxy/配置: 添加:/usr/local/haproxy/conf/haproxy.cfg添 ...

  2. 委托学习过程及委托、Lambda表达式和匿名方法的关系总结及事件总结

    第一章,当开始学习委托的时候,我们会问什么是委托?为什么要学习委托? 一,什么是委托? 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法, ...

  3. smyfony2-curd-数据库创建

    1创建类

  4. jssip中文开发文档(完整版)

    jsSip开发文档 (官网地址:http://www.jssip.net/) 完整案例demo下载地址: http://download.csdn.net/download/qq_39421580/1 ...

  5. quartz 的简单使用

    0.依赖: <!-- 引入quartz对应的依赖 --> <dependency> <groupId>org.quartz-scheduler</groupI ...

  6. MVC控制器详解

    原文地址:http://www.cnblogs.com/SeeYouBug/p/6441934.html#3628606 目录 一.理解控制器 1.1.什么是控制器 1.2.控制器的作用 1.3.创建 ...

  7. centoros 环境安装

    1. nginx rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.no ...

  8. keras图像预处理-ImageDataGenerator

    相关参数描述:http://keras-cn.readthedocs.io/en/latest/preprocessing/image/其中validation_split参数(官方上使用方法未描述) ...

  9. mongodb基础学习1-基本说明及安装

    以前看过一些mongodb的视频,但只看到一半没有看完,也没有同步安装软件动手操作,正好最近没事,打算花点时间从头学习一遍,边学习边动手操作,学习的过程在此进行记录. 好了,下面说一下今天的学习内容. ...

  10. Bioconductor的历史

    ---------------------------------------------------------------Bioconductor------------------------- ...