从继承关系来看,所有组件继承自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. uva-10098

    所有的排列,但是要不重复 #include<stdio.h> #include<iostream> #include<sstream> #include<qu ...

  2. 温故而知新-mysql的一些语法show,describe,explain,fulltext

    1 show show tables; 显示数据库的所有表 show databases; 显示所有数据库 show columns from table; 显示表的所有列 show grants f ...

  3. grep命令打印前N行

    想打印前5行,用head即可:grep xxx |head -n 5

  4. jmeter java请求:java.lang.VerifyError: Cannot inherit from final class

    被这个问题block了一天,应该是包冲突的.通过对包删减排查,结果发现是netty-all-xxx.Final.jar包的问题 应该是jmeter版本和netty版本的冲突吧,换成jmeter 3.1 ...

  5. Sender 转换TButtonItem TCategoryButtons

    http://codeverge.com/embarcadero.cppbuilder.using/using-sender-to-determine-which/1068317 http://qc. ...

  6. JMH使用说明

    JMH使用说明 一.概述 JMH,即Java Microbenchmark Harness,是专门用于代码微基准测试的工具套件.何谓Micro Benchmark呢?简单的来说就是基于方法层面的基准测 ...

  7. selector 模块

    selector 模块进行自动匹配,当是windows系统时,自动匹配select, linux系统时,自动匹配epoll,传输时会明确告诉内核响应服务器的地址,速度要更快 import select ...

  8. python模块说明

    1.模块(变量,函数,类,实现一个功能) 包:用来从逻辑上组织模块,本质是一个目录(必须带有__init__.py) 2.导入方法 import module_alex from module_ale ...

  9. UI5-文档-4.14-Custom CSS and Theme Colors

    有时我们需要定义一些更细粒度的布局,这时我们可以通过向控件添加自定义样式类来使用CSS的灵活性,并根据自己的喜好对它们进行样式化. Preview The space between the butt ...

  10. 吴裕雄 实战PYTHON编程(5)

    text = '中华'print(type(text))#<class 'str'>text1 = text.encode('gbk')print(type(text1))#<cla ...