二、无种基本布局 0、布局:布局,控件 Android系统五大布局详解Layout - 推酷 Android开发学习笔记:5大布局方式详解 - IT的点点滴滴 - 51CTO技术博客 1、线性布局LinearLayout...(1)android:orientation="horizontal"//水平方向,默认,注:控件宽度不能为match_parent (2)android:orientation="vertical"...//垂直方向,注:控件高度不能为match_parent (3)android:gravity:文字在控件中的对其方式 android:layout_gravity:控件在布局中的对其方式。...当android:orientation="horizontal"时,垂直方向上对齐方式生效 当android:orientation="vertical"时,水平方向上对齐方式生效 (4)android...:layout_weight控件指自己控件所占的高或宽=自己weight值/所有weight之和 AndroidUI设计之布局-详细解析布局实现 - 安卓吧 - 博客园 2、相对布局RelativeLayout
在xml中为创建组件时,需要为组件指定id,如:android:id=”@+id/名字”系统会自动在gen目录下创建相应的R资源类变量。...我在实际应用中设置和网上资料显示的刚好相反,这个问题后面会专门写一篇文章来分析。现在我们只需要按照正比例来设置就可以。...构成一个垂直布局 <LinearLayout android:orientation="vertical" android:layout_weight="3"...注意:在TableLayout中,单元格可以为空,但是不能跨列,意思是只能不能有相邻的单元格为空。...在TableLayout布局中,一列的宽度由该列中最宽的那个单元格指定,而该表格的宽度由父容器指定。
在你开始这个课程之前,确保你已经有了安卓开发环境并设置好,你需要: 1.下载安卓开发包(Android SDK) 2.为你的Eclipse安装ADT插件(如果你使用Eclipse集成开发环境的话) 3....2.在你的设备上启用USB debugging(USB调试)模式 在很多运行在安卓3.2或者更旧的版本上的设备,你可以在选项设置里找到: 设置>应用程序>开发者 在安卓4.0或者更新一些的版本,他存在于...设置>开发者选项 注意:在安卓4.0或者更新一些的版本 开发者选择 默认是隐藏的。...因为 LinearLayout 是布局的根视图,在它的宽度和高度都设置为“match_parent”,它将填满这个应用的整个可用的屏幕区域。...那么比较好的情形是实用文本框填充满未使用的屏幕宽度。你可以再LinearLayout中使用 重要性 属性来做,这样你可以通过android:layout_weight 属性来指定。
android:orientation SetOrientation(int) 设置布局管理器内组件的排列方式,可以设置为horizontal(水平排列)、vertical(垂直排列,默认值)两个值的其中之一...3权重 从前面的水平布局图中看到五个按钮并不是平均占据屏幕宽度,如果需要这五个组件平均占据屏幕宽度,就需要使用到权重,可以通过设置android:layout_weight为相应部件分配空间比例...从上面的程序发现,需要使用layout_weight的视图组件,要根据LinearLayout的orientation属性值将对应的宽度或高度设置为0dp。...从上图可以看到,在LinearLayout中首先为没有设置layout_weight属性的组件分配空间,然后根据各个视图组件layout_weight属性的值所占比例来分配剩余空间。...以上练习的是水平方向的权重,在垂直方向同理。需要注意的是:layout_weight只能在LinearLayout线性布局中使用,而且只能在LinearLayout中的直接子元素中使用。 ?
-- 子视图元素 --> 在上述代码中,我们创建了一个垂直方向的LinearLayout,并将其宽度设置为与父视图相匹配(match_parent),高度根据子视图自适应...设置布局属性: 可以通过在每个子视图的布局参数中设置不同的属性来控制子视图在LinearLayout中的位置和大小,例如android:layout_weight属性可以用来设置子视图的权重,实现按比例分配剩余空间...设置android:orientation属性为"horizontal"或"vertical"来指定水平或垂直布局。...在LinearLayout中,android:layout_width和android:layout_height属性分别设置为match_parent,表示填充父容器的宽度和高度。...android:orientation属性设置为vertical,表示子视图按垂直方向排列。
,垂直方向的设置不起作用。...-- 垂直布局 --> <LinearLayout android:layout_width="match_parent" android:layout_weight...:layout_weight="1"通过设置控件的layout_weight属性以控制各个控件在布局中的相对大小,线性布局会根据该控件layout_weight值与其所处布局中所有控件layout_weight...在水平布局的LinearLayout中有4个TxtView,这4个TextView的layout_weight属性值都为1,那么这4个TextView的大小将拉伸到总大小的四分之一。...如果layout_weight指为0,控件会按原大小显示,不会被拉伸;对于其余layout_weight属性值大于0的控件,系统将会减去layout_weight属性值为0的控件的宽度或者高度,再用剩余的宽度或高度按相应的比例来分配每一个控件显示的宽度或高度
的确应该设置为0dp,下面就来解释一下为什么会出现这个奇怪的现象 被设置的weight值的控件,宽度应该为该控件的宽度+父控件的剩余空间*比例 水平方向的线性布局中:使用weight时,需注意将宽度设置为...0dp 垂直方向的线性布局中:使用weight时,需注意将高度设置为0dp 这里以水平方向为例: 该控件所占的宽度=该控件原宽度+(父控件总宽度-已有控件总宽度)*比例 即 该控件原宽度+剩余宽度*比例...2/3 second的宽度为:a+(a-2a)*2/3=1/3a 所以second的宽度为父控件的1/3,即占父控件的1/3 要达到目的,就必须将layout_width应该设置为0dp,这样first...> 垂直方向以此类推可得出结果。...这个“权重”属性仅仅在LinearLayout使用,在RelativeLayout没有这个属性。
属性 LinearLayout(线性布局)常用到的属性简单归纳一下: 属性名 解释 android:orientation 指定线性布局的方向(水平或者垂直) android:width 线性布局的容器宽度...width 属性值 解释 android:width="xxxdp" 指定线性布局的容器宽度为:xxxdp android:width="wrap_content" 指定线性布局的容器宽度为:根据容器内容宽度大小来填充屏幕宽度...:最上方(默认) android:gravity="bottom" 指定线性布局中,子容器相对于父容器所在的位置为:最下方 layout_weight 当我们给一个view设置了android:layout_weight...属性值 解释 android:layout_weight="2" 该单元权重为2 divider 这个属性可以在LinearLayout的每个子布局直间添加一个“drawable”作为分割线,这个drawable...必须有设定好的高度或者宽度,因此不能直接设置为“@color/….”
="false",那么这个子View就不会限制在父View当中 ---------------------------------------------------------------------...可以看出底部其实有一个ViewGroup(LinearLayout or RelativeLayout 灰色背景部分) 但是我们要求中间一个图标按钮 是要比别的稍大点的,那么正常的我们写在一个LinearLayout...首先实现该功能我们需要了解ViewPager,安卓开发_深入学习ViewPager控件 了解ViewPager的同学都知道,正常情况下我们一个手机界面只会显示出一个viewpager的子View视图 那么我们需要实现一个手机界面能看到多个子...80dp" 设置这两个属性的目的是什么呢?...首先,我们正常设置ViewPager控件的宽度都是 android:layout_width="match_parent" 而我们设置距离左右控件的距离之后,就会使ViewPager可现实的宽度变窄,
上述控件的唯一id为name_text_view。 (2).android:layout_width属性代表着控件的宽度,该属性的值是match_parent, 表示该控件的宽度与父视图的宽度相同。...iOS的布局方式就先聊到这儿,接下来回到安卓的布局方式当中。...最下方我们使用了一个水平布局的LinearLayout1, 在LinearLayout01上又有两个高度等于父视图高度的LinearLayout11和LinearLayout12,两者子控件的布局方式都设置为垂直排列...在LinearLayout12中又有两个子线性布局LinearLayout121和LinearLayout122, 这两个子布局沿垂直方向排列于父布局之上,并且宽度与父布局相等。 ?...在安卓开发中的表格布局和Web前端中的表格布局的概念类似,也就是通过画表表格的方式来实现布局。 在表格布局中,整个页面就相当于一张大的表格,控件就放在每个Cell中。
在h5页面中,添加调用接口,在网页的javascript代码中使用上面安卓提供的MyJS.add()来调用(MyJS为Android端使用addJavascriptInterface方法时注入的调用本地方法类名称...说到混合开发,重要功能有2种,一是网页端调用安卓原生接口或功能,二是安卓原生调用网页功能。...2、网页端添加Android端调用接口 创建html网页hybrid_test.html,并添加调用接口,在网页的javascript代码中使用上面安卓提供的MyJS.add()来调用。...(""); //设置是否 WebView 支持 “viewport” 的 HTML meta tag,这个标识是用来屏幕自适应的,当这个标识设置为 false 时, //页面布局的宽度被一直设置为 CSS...中控制的 WebView 的宽度;如果设置为 true 并且页面含有 viewport meta tag,那么 //被这个 tag 声明的宽度将会被使用,如果页面没有这个 tag 或者没有提供一个宽度
:权重,除了被显示占据的空间以外的的空间,然后根据权重的大小来分配空间,使用权重通常会把分配该权重方向的宽度设置为0dp,如果未设置0dp,则该控件会占据指定的宽度,然后再加上根据权重来分配的空间 下面依次分别举例说明使用方法...orientation 是一个视图组,可以在一个方向垂直或者水平分布所有子项 当 android:orientation="vertical" 时, 只有水平方向的设置才起作用,垂直方向的设置不起作用...,设置在父元素上,多个值用 | 隔开...."(子元素与父元素边缘的距离,设置在子元素上). <?...weight:android:layout_weight ="1"(线性布局内子元素对未占用空间【水平或垂直】分配权重值,其值越小,权重越大.前提是子元素设置了android:layout_width
如果是没有子控件的控件设置此属性,表示其内容的对齐方式,比如说TextView里面文字的对齐方式;若是有子控件的控件设置此属性,则表示其子控件的对齐方式,gravity如果需要设置多个属性值,需要使用“...android:layout_weight="1"通过设置控件的layout_weight属性以控制各个控件在布局中的相对大小,线性布局会根据该控件layout_weight值与其所处布局中所有控件layout_weight...值之和的比值为该控件分配占用的区域。...在水平布局的LinearLayout中有两个Button,这两个Button的layout_weight属性值都为1,那么这两个按钮都会被拉伸到整个屏幕宽度的一半。...如果layout_weight指为0,控件会按原大小显示,不会被拉伸;对于其余layout_weight属性值大于0的控件,系统将会减去layout_weight属性值为0的控件的宽度或者高度,再用剩余的宽度或高度按相应的比例来分配每一个控件显示的宽度或高度
线性布局 线性布局是Android开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过“android:orientation”属性可以设置线性布局的方向。...常用的属性: android:orientation:可以设置布局的方向 android:gravity:用来控制组件的对齐方式 layout_weight:控制各个组件在布局中的相对大小 第一个实例...22 线性布局会根据该控件layout_weight值与其所处布局中所有控件layout_weight值之和的比值为该控件分配占用的区域。...23 例如,在水平布局的LinearLayout中有两个Button,这两个Button的layout_weight属性值都为1, 24 那么这两个按钮都会被拉伸到整个屏幕宽度的一半...如果layout_weight指为0,控件会按原大小显示,不会被拉伸; 25 对于其余layout_weight属性值大于0的控件,系统将会减去layout_weight属性值为
开发,第一件事就是翻翻看安卓提供的布局方式方便不,因为笔者现在是做WP的,于是乎有了这篇比较两个平台提供的一些基础的布局方式的博文。...2" /> 35 代码虽然不同,但是效果是一样一样的(左边WP右边安卓)... ?...3.FrameLayout&AbsoluteLayout VS Canvas 在官方文档布局介绍文档中已经不见FrameLayout和AbsoluteLayout这两位了,估计是在安卓如此丰富的设备分辨率下以及很少有场景能用到这两种布局方式了...|false:在父容器中垂直居中 android:layout_centerInparent ture|false:在父容器中水平且垂直完全居中 上述3个属性控制子元素的居中问题。...6.总结 Android的布局容器设计明显偏重于提供自适应的能力,即使是需要设置固定宽高的地方也已dp代替px为单位,或许是安卓众多的设备分辨率所逼迫的吧; WinPhone的布局容器是从WPF再到Silverlight
一个活动当中可以拥有多个碎片,碎片的含义就是可以在同一个UI界面下,将这个界面分成好几个界面,并且可以分别更新自己的状态,如果没有碎片,那么如果你想要单独在某一个区域实现活动的“跳转”就不可能了,因此我们可以引入碎片...在利用底部标题栏进行首页UI的切换的时候就需要用到碎片,因此碎片在安卓开发当中十分广泛,这篇博客将会与你讲解如何实现静态加载碎片,除了静态加载碎片,还具有动态加载碎片的方式,两种方式不同的方式都进行理解与引用...UI界面当中将代码修改为: 四.activity_main.xml <?...="1" android:layout_width="0dp" android:layout_height="match_parent" / </LinearLayout...这样就可以把fragment引入到咱们的主活动上面来啦,运行安卓项目,大功告成!!
2.wrap_content &match_parent 下面为大家介绍设置宽度高度的两种属性 wrap_content 和match_parent,当我们直接设置View宽度时,因为不知道内容多少....android :layout_weight布局权重 接下来我们学习LinearLayout中的一个重要属性android :layout_weight.这个属性允许我们使用比例的方式来指定控件的大小...权重的默认大小为0,当我们不设置时,该View的权重就为0....首先我们需要把使用权重的高度/宽度设置为0dp,使用权重控制大小。 下面的代码和呈现是我们不使用权重时的 下来我们使用权重,将第一个TextView的layout_width设置为0dp,layout_weight=1,得到如下图示 <?
LinearLayout来达到水平或垂直方向的布局,在Flutter中有两个常用的组件也能够做到类似的效果,分别是Row和Column组件,Row组件主要功能是处理水平方向的布局,Column组件主要功能是处理垂直方向的布局...Flutter和LinearLayout的对比图示如下: [nb3z93dd54.png] 安卓的orientation属性在Flutter中的体现 Row的使用示例代码如下所示: [e0c6tgefa4...如果我们给 Column 组件设置 MainAxisAlignment 属性,那么它的主轴为垂直方向。...属性,那么它的交叉轴为垂直方向。...中 layout_weight 是LinearLayout里面的属性,它是用来给子孩子设置权重的,表示给子孩子按照设置的比例去分配空间。
其中本实验用到的各控件的属性解释如下: android:layout_weight属性是指不同的控件在activity中占有体积大小的比例。 ...android:id为该控件的id,即在此处可以设置控件的id。 android:layout_width为控件本身的宽度属性,其它的类似。 实验结果显示2行字,分别设置了不同的属性。...android:id为该控件的id,即在此处可以设置控件的id。 android:layout_width为控件本身的宽度属性,其它的类似。.../> 表格布局: 表格布局有点类似表单的意思,可以在activity中建立多行,每一行又可以设置为多列,所以看起来横竖条理比较清晰,因此叫做表格布局。 ...这次实验将上面的2个实验混合起来显示的,即总的布局为垂直方向上的线性布局,上面那个布局内部又为垂直方向的布局,下面那个布局为也是一个线性布局,不过里面嵌入了一个表格布局,所以总共有4个布局。
="vertical",当然也在可以在代码里通过setOrientation()方法来设置。...Fill Mode填充方式,所有在LinearLayout的控件都必须指定它的填充方式, 即设置android:layout_width和android:layout_height,可以为三种值(1)具体的像素值...Weight权重,如果你想让一行或一列的控件按比例显示,这时候权重就起到作用了,如想让一行里面两控件其中一控件占两倍于另一控件的空间,可以把其中一控件的android:layout_weight设置为1...="1" /> 可以看到父类LinearLayout包含了一个水平布局的LinearLayout和一个垂直布局的LinearLayout...既然是相对于另一个控件,就必须在定义这控件时候指定是哪个控件,如控件A的ID为@+id/widget_a, 控件B若要在控件A下面可以这样设置android:layout_below="@id/widget_a
领取专属 10元无门槛券
手把手带您无忧上云