安卓布局文件指的是哪个
① android的ui布局有哪些
布局(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)。
② Android 两个Activity共用一个布局文件有什么影响
没有影响
activity的setConvertView只是设置当前activity的界面的,不要求是什么界面。只要你的布局文件没有错误就能正常使用。并且在项目开发过程中,在页面布局相似度很高的时候,重用界面也能很好地提高代码复用。findviewbyid的时候,系统会自动在你设置的view中找相应的控件。
你可以在多个activity中使用一个界面,然后运行。自己动手试试,很容易理解。
③ 怎么知道Android系统中每个文件的作用
只能掌握重点吧。
1.根目录:
src目录---存放源代码文件
gen目录---ADT插件生成的文件,一般不作修改
assets目录---存放资源文件目录,不会在R.java中生成ID
res目录---存放资源文件目录,这里面的每个文件或值都会在R.java中生成一个ID(变量)
AndroidManifest.xml---整个应用程序配置文件,储存一些 包名,版本号,程序图标,程序标签
default.properties---检查版本文件,自动生成,不能修改(修改将被删除)。
2.重点目录及文件
res/drawable-xxxx是存放图片的目录,每个图片需要准备三种分辨率版本.
drawable-hdpi---存放高分辨率版本
drawable-ldpi---存放中分辨率版本
drawable-mdpi---存放低分辨率版
res/layout目录---放置布局文件(xml文件),每个Activity对应一个XML文件
res/value目录--放置存储值的文件(xml)
R.java文件
drawable类---给图片生产的ID
layout类---给布局文件生成ID的
string类---给string.xml里面键值对生成的ID
main.xml文件
控制Activity中控件的位置,每个Activity对应一个此布局文件
string.xml
存放键值对,一般用在程序的多语言版本切换(多个文件,键一样,值不同)
res目录下的文件都会自动在R.java中生成资源id,并且除了res/raw文件夹外都会被编译为二进制文件,res/raw文件夹下的内容会保持原样。res目录不能随意创建子目录。可以通过getResources的相关方法结合其他类进行访问。
assets目录支持任意深度的子目录,其下的文件不会被编译为二进制(保持原样),并且不会生成资源id,必须使用/assets开始的相对路径按照文件的方式进行访问。可以使用AssetManager 结合其他类进行访问。
结合R.java的相关内部类和字段,res/drawable-xxxx目录可以根据系统分辨率自动使用不同的图片资源。例如高分辨率的放在res/drawable-hdpi目录,低分辨率放在res/drawbale-ldpi目录中,在各个dpi的子目录中放置好不同分辨率的图片,在使用R.drawable.resourceid的方式访问时,系统会根据设备屏幕的分辨率自动选择合适的图像进行展示。
④ 安卓手机根目录下的各个文件夹有什么作用
作用:
1.res:资源文件。
2.drawable:布局文件。
3.layout:布局文件。
4.anim:动画效果文件。
5.values:取值、字符串等。
6.src:代码,至于src内部的目录名称,取决于具体项目结构。
7.libs:库文件。