android 自定义ui控件有哪些

 我来答
野人无事不言L
2016-07-30 · TA获得超过1413万个赞
知道顶级答主
回答量:2242万
采纳率:0%
帮助的人:144.4亿
展开全部
  布局(Layout)的概念是针对Activity的,Activity就是布满整 个Android设备的窗口或者悬浮于其他窗口上的交互界面。在一个应用程序中通常由多个Activity构成,每个需要显示的Activity都需要在AndroidManifest.xml文件之中声明。

  通常情况下,开发人员可以使用两种方式来创建UI组件,一种方式是使用XML方式来配置UI组件的相关属性,然后装载这些UI组件,这也是最常用的方式。但是有些特殊情况下,需要动态生成UI组件,则需要使用第二种方式,完全使用Java代码来创建UI组件。

  XML布局文件是Android系统中定义的Layout的常用方式,所有布局文件必须包含在res/layout目录中,且必须符合Java的命名 规范。当在res/layout目录下新增了布局文件之后,R.java文件会自动收录该布局资源,Java代码可通过setContentView方法 在Activity中显示该Layout。

  setContentView(R.layout.<资源名称>);

在布局文件中可以指定UI组件的android:id属性,该属性的属性值代表该组件的唯一标识。通过Activity.findViewById()访问,并且findViewById()必须在setContentView加载xml文件之后使用,否则会抛出异常。
  
  findViewById(R.id.)

  Android应用的绝大部分UI组件都放在android.widget包及其子包、android.view包及其子包中,Android应用的 所有UI组件都继承了View类。View类还有一个重要的子类:ViewGroup,ViewGroup类是所有布局管理器的父类。

  ViewGroup容器控制其子组件的分布依赖于ViewGroup.LayoutParams、ViewGroup.MarginLayoutParams两个内部类。

  ViewGroup.LayoutParams提供两个XML属性设定组件的大小。

  android:layout_height:指定该子组件的基本高度;

  android:layout_width:指定该子组件的基本宽度。

  这两个属性有三个基本值,这两个属性有三个特定的值:

  fill_parent:指定组件的高度、宽度与父容器组件的一样。

  match_parent:与fill_parent一样,Android2.2开始推荐使用。

  warp_content:内容包裹。

  ViewGroup.MarginLayoutParams用于控制子组件周围的页边距。

  android:layout_marginBottom(下边距);

  android:layout_marginLeft(左边距);

  android:layout_marginRight(右边距):

  layout_marginTop(上边距)

  对于View的尺寸,android提供了三种单位供选择使用:

  px:像素。

  dp:dpi,表示屏幕实际的像素。

  sp:与scale无关的像素,与dp类似。

  尺寸单位选择的技巧:如果设置长度、高度等属性时可以使用dp或sp,但是如果设置字体,需要使用px。如果使用dp或sp,系统会根据屏幕密度的变化进行转换。

  为了适应各种界面风格,Android提供了五种布局规范,利用这五种布局,基本上可以在设备上随心所欲的摆放任何UI组件,这五种布局分别是:

  FrameLayout(帧布局)。

  LinearLayout(线性布局)

  RelativeLayout(相对布局)。

  TableLayout(表格布局)。

  AbsoluteLayout(绝对布局)。

线性布局(LinearLayout)

  LinearLayout是最常用的布局方式,在XML文件中使用标记。它会将容器里的UI组件一个一个挨着排列起来。但是LinearLayout不会换行,当UI组件超出屏幕之后,则不会被显示出来。LinearLayout有两个重要的XML属性:androidgravity(对齐方 式);android:orientation(排列方式)。

  android:orientation(排列方式),设定了LinearLayout中包含的UI组件的排列方式,有两个选项vertical(竖向)、horizontal(横向,默认值)

  android:gravity(对齐方式),设定LinearLayout中包含UI组件的对齐方式,其选项很多,常用上(top)、下(bottom)、左(left)、右(right)。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式