Android项目开发之UI设计器_Android

开发人员可以用以下两种方式声明UI:一是通过.xml文件(不带预览界面)或者.axml文件(带预览界面)来描述;二是用C#代码实现。 
用.axml文件描述用户界面(UI)时,设计器分为【设计】视图和【源】视图。这种方式的优点是:可以尽可能地把表现与控制行为的代码分隔开。就是说,可以直接修改XML而不需要重新编译。另外,还可以让UI结构可视化以及调试都变得更容易。 
1、布局文件(.xml和.axml) 
在XML中声明UI之后,必须将其以.xml扩展名或者.axml扩展名保存在Android项目的Resources/Layout/目录下,然后才能顺利通过编译。
 •.xml文件:不带设计界面
 •.axml文件:带设计界面
 •可以随时将.xml换名为.axml,也可以随时将.axml换名为.xml。
 编译器编译应用程序时,会将每个XML文件或者AXML文件都编译成一个View。开发人员需要在Activity重载的OnCreate方法中指定载入哪个XML资源。
 例如,下面的代码加载Main.axml文件: 

protected override void OnCreate(Bundle bundle)
{
  base.OnCreate(bundle);
  SetContentView(Resource.Layout.Main);
}

2、属性分类
 在【属性】窗口中,下列分类可帮助快速找到对应的属性:
 •Widget – 控件(带设计界面的组件),主要属性包括:id、visibility、text等
 •Style – 可视化的样式控制,例如:font、text color、background等
 •Layout – 布局控制
 •Scroll – 滚动属性
 •Behavior – 行为控制

3、属性默认值
 由于控件的值多数是继承自所使用的主题(Android Theme),所以默认情况下这些值大部分都是空白。即:默认不显示继承过来的值,仅显示开发人员明确指定的值。 

4、常用属性
 下面列出一些最常用的属性。 
(1)ID 
活动(Activity)中的每个View对象都用一个整数类型的ID来标识,但是这个ID在XML文件中通常用字符串来表示。例如: 

<Button android:id="@+id/mybutton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/my_button_text"/> 

字符串开头的【@】表明XML解析器应该解析和扩展ID字符串的剩余部分,并且把它标识为一个ID资源。【+】意味着这是一个新资源名称。
 注意,引用在Resource中已经定义的资源ID的时候不要使用“+”,而是用“android”命名空间来限定它。例如,下面的代码引用empty.jpg文件: 
android:id="@android:id/empty" 
(2)wrap_content、fill_parent、match_parent 
wrap_content:将元素大小调整到其自身内容所要求的尺寸。
 fill_parent:将元素大小调整到其父元素所能允许的最大尺寸。【工具箱】中“Layout” 选项卡下的布局控件默认使用它。
match_parent:将元素大小调整到其父元素所能允许的最大尺寸。match_parent的作用和fill_parent的作用相同,【工具箱】中“Form Widgets”选项卡下的非布局控件(例如TextView、Button等)默认使用它。 
(3)dp 
一般不推荐使用绝对度量单位指定height和width,而是应该使用与密度无关像素单位(dp)。另外,应尽量使用wrap_content,fill_parent等相对量度属性,这样做的好处是能让应用程序自适应不同尺寸大小的设备屏幕。 
(4)Left、Top、Right、Bottom 
View的几何形状默认是一个矩形,每个View都用Left、Top、Width、Height来确定其位置。 
Left、Top返回的是相对于其父View的定位值。另外,View还给出了简便的方法来避免不必要的计算,例如Right、Bottom,这两个属性返回的是View的右边缘和下边缘的坐标。其中,Right相当于Left + Width,Bottom相当于Top+Height。 
(5)Size、width、height 
一个View的Size有两对(宽、高)值来构造: 
measured width、measured height:定义了一个view在它的parent中显示为多大。实际的尺寸可通过调用 getMeasuredWidth()和 getMeasuredHeight()来得到; 
width、height:这是在绘制时以及布局之后定义View在屏幕上的实际尺寸,这些值可能与measured height 和measured width不同,也可能相同。 
为了测量元素的尺寸,View把它的padding计算在内。Padding包括View的上下左右四个部分。Padding可以用特定的像素数来抵消view的内容部分。举例来说,值为2的left padding将会把view的内容从左边缘向右推2个度量单位。 
尽管View可以定义padding,但是它没有提供margin,而是在ViewGgroup中提供该属性。 
(6)Margin 
选中某个控件后,可拖动下图红色框内的控制点调整该控件的外边距(Margin): 

双击对应的控制点,还可以直接输入或修改具体值,例如“39.3dp”,如下图所示: 

在上图中,可看出还有几个小矩形按钮,拖动它可修改下面的属性:
 •wrap_content:让控件匹配其自身内容的大小。
 •match_parent:让控件填满其父容器的可用空间。 
但是,并不是所有控件都能通过双击的办法修改其属性值,例如LinearLayout即使选中它也不会显示控制点,当然也不能在界面中用双击的办法修改它的属性值。

 5、大纲视图(Outline View)
利用大纲视图可快速选择设计器中不易被选中的控件: 
在大纲视图中,和在设计器中一样,也可以拖放、复制、粘贴,以及右键弹出快捷菜单。
当设计器中有些控件不易选择时,也可以利用鼠标右键弹出快捷菜单来操作: 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android
, ui设计
UI设计器
android ui开发框架、android ui开发入门、android ui开发、android开发ui素材、android ui开发工具,以便于您获取更多的相关知识。

时间: 2024-08-01 13:16:39

Android项目开发之UI设计器_Android的相关文章

Android项目开发之UI设计器

开发人员可以用以下两种方式声明UI:一是通过.xml文件(不带预览界面)或者.axml文件(带预览界面)来描述:二是用C#代码实现.  用.axml文件描述用户界面(UI)时,设计器分为[设计]视图和[源]视图.这种方式的优点是:可以尽可能地把表现与控制行为的代码分隔开.就是说,可以直接修改XML而不需要重新编译.另外,还可以让UI结构可视化以及调试都变得更容易.  1.布局文件(.xml和.axml)  在XML中声明UI之后,必须将其以.xml扩展名或者.axml扩展名保存在Android项

Android编程开发之Spinner组件用法_Android

本文实例讲述了Android编程开发之Spinner组件用法.分享给大家供大家参考,具体如下: Spinner组件组要用显示一个下拉列表,在使用中需要用到适配器Adapter,下面是一个该组件的使用示例 首先是布局文件main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res

Android编程开发之RadioGroup用法实例_Android

本文实例讲述了Android编程开发之RadioGroup用法.分享给大家供大家参考,具体如下: RadioGroup 有时候比较有用.主要特征是给用户提供多选一机制. MainActivity.java package com.example.lesson16_radio; import android.app.Activity; import android.os.Bundle; import android.widget.RadioButton; import android.widget

Android编程开发之TextView文字显示和修改方法(附TextView属性介绍)_Android

本文实例讲述了Android编程开发之TextView文字显示和修改方法.分享给大家供大家参考,具体如下: 一. 新建一个Activity 和 Layout 首先在layout文件夹中新建一个activity_main.xml,在新建工程的时候一般默认会新建此xml文件,修改其代码如下: activity_main.xml 代码 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" x

Android编程开发之NotiFication用法详解_Android

本文实例讲述了Android编程开发之NotiFication用法.分享给大家供大家参考,具体如下: notification就是通知的意思,安卓中指通知栏,一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个快讯,这时手从上方滑动状态栏就可以展开并处理这个快讯. 在帮助文档中,是这么说的, notification类表示一个持久的通知,将提交给用户使用NotificationManager.已添加的Notification.Builder,使其更容易构建通知

Android程序开发之Listview下拉刷新上拉(滑动分页)加载更多_Android

最近做的类似于微博的项目中,有个Android功能要使用到listview的向下拉刷新来刷新最新消息,向上拉刷新(滑动分页)来加载更多. 新浪微博就是使用这种方式的典型. 当用户从网络上读取微博的时候,如果一下子全部加载用户未读的微博这将耗费比较长的时间,造成不好的用户体验,同时一屏的内容也不足以显示如此多的内容.这时候,我们就需要用到另一个功能,那就是listview的分页了,其实这个分页可以做成客户端的分页,也可以做成服务器端的分页(点击加载时,从服务器对应的加载第N页就好了!!!).通过分

Android编程开发之Spinner控件用法实例分析_Android

本文实例讲述了Android编程开发之Spinner控件用法.分享给大家供大家参考,具体如下: 下拉列表 Spinner,Spinner是一个每次只能选择所有项的一个项的控件.它的项来自于与之相关联的适配器中. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来.供用户选择. 一.使用数组作为数据源 布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/ap

Android编程开发之在Canvas中利用Path绘制基本图形(圆形,矩形,椭圆,三角形等)_Android

本文实例讲述了Android编程开发之在Canvas中利用Path绘制基本图形的方法.分享给大家供大家参考,具体如下: 在Android中绘制基本的集合图形,本程序就是自定义一个View组件,程序重写该View组件的onDraw(Canvase)方法,然后在该Canvas上绘制大量的基本的集合图形. 直接上代码: 1.自定义的View组件代码: package com.infy.configuration; import android.content.Context; import andro

Android编程开发之TextView控件用法(2种方法)_Android

本文实例讲述了Android编程开发之TextView控件用法.分享给大家供大家参考,具体如下: 这里我们会讲讲常用控件的使用. 在今后的大多数章节里面也是一样的,我们会具体的说说某些控件的用法.因为只要把这些控件组合在一起它们就是一个应用了. 好吧我们直接看看这个控件怎么用. 细心的同学会发现,其实这个控件的内容是定义在values文件夹里面的strings.xml中的. 那么我们只需要给它加一段代码: 复制代码 代码如下: <string name="test">Wel