从继承关系来看,所有组件继承自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-10392-因数分解

    #include<stdio.h> #include<iostream> #include<queue> #include<memory.h> #inc ...

  2. HTML5 Canvas ( 事件交互, 点击事件为例 ) isPointInPath

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. Ztree学习(-)简单例子

    https://www.cnblogs.com/shinhwazt/p/5828031.html ztree包:https://pan.baidu.com/s/1vOgGm_elF-lF0VowoHw ...

  4. vue深入了解组件——组件注册

    一.组件名 在注册一个组件的时候,我们始终需要给它一个名字.比如在全局注册的时候我们已经看到了: Vue.component('my-component-name', { /* ... */ }) J ...

  5. Qt-状态机

    //以下示例是QT示例中的appchooser例子,使用状态机来进行图标的交互. #include <QtCore> #include <QtWidgets> class Pi ...

  6. 电影TS、TC、BD版和HD版

    HD的意思是指HDTV,HDTV指网上下载的高清影片,它的画面品质会比BD稍差,主要表现为亮度不足,色彩不自然等.BD是指蓝光(Blu-ray)或称蓝光盘(Blu-ray Disc,缩写为BD),目前 ...

  7. python-淘宝信息定向爬取

    S是类似产品页数  bcoffset直流偏移. 有人在将偏移量:http://www.cnblogs.com/defineconst/p/6185396.html item.taobao.com/it ...

  8. python 学习备忘

    list列表排序 def listdir(path): #返回一个排序后的目录list files=os.listdir(path) files.sort(key=lambda x:str(x[:-4 ...

  9. python格式化输出(转)

    在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出.Python中内置有对字符串进行格式化的操作%. 模板 格式化字符串时,Python使用一个字符串作为模板.模 ...

  10. python yield 浅析-转载

    如何生成斐波那契數列 斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到.用计算机程序输出斐波那契數列的前 N 个数是一个非常简单的问题 ...