使用weight属性实现视图的居中显示

有的时候我们开发一个产品的时候需要让其中某个控件的宽度或高度占据其父容器的宽度或高度的一半显示,这个时候由于设备尺寸的限制,做到在每个设备上都具有同样的效果的话,我们就需要用到weightSum属性和layout_weight属性。

具体的实现过程分析如下:

首先为父容器指定一个weightSum,然后为其子控件的layout_weight属性值设为weightSum的一半,这个时候,就实现了占据其一半的效果。

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:layout_width="fill_parent"
 3     android:layout_height="fill_parent"
 4     android:background="#ffffff"
 5     android:gravity="center"
 6     android:orientation="horizontal"
 7     android:weightSum="1" >
 8
 9     <Button
10         android:layout_width="0dp"
11         android:layout_height="wrap_content"
12         android:layout_weight="0.5"
13         android:text="@string/activity_main_click_me" />
14
15 </LinearLayout>
时间: 2024-08-11 14:43:11

使用weight属性实现视图的居中显示的相关文章

Android Hack1 使用weight属性实现视图的居中显示

本文地址:http://www.cnblogs.com/wuyudong/p/5898403.html,转载请注明源地址. 如果要实现如下图所示的将按钮居中显示,并且占据父视图的一半,无论屏幕是否旋转 合用weightSum属性和layout_weight属性 不同Android设备的尺寸往往是不同的.作为开发者,我们需要创建适用于不同尺寸屏幕的XML文件.硬编码是不可取的,因此需要其他方法来组织视图. 本文分析如何合用layout_weight和weightSum这两个属性来填充布局内部的任意

Android开发技巧一--weight属性实现视图的居中(半)显示

面试时,一位面试官问到:"如果我想讲按钮居中显示,并且占据其父视图宽度的一半,应该怎么做到呢?"即实现这种效果: 我们使用weightSum属性和layout_weight属性实现这一要求: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

从源码切入 透彻理解Android的weight属性

最近在看一本古董书<50 Android Hacks>,而书中开篇的第一个Hack就是"使用weight属性实现视图的居中现实". 事实上weight是一个使用简单,但却又十分强大的属性.但关于其的实现原理和使用细节我们却不一定真正深入的进行过理解. 今天我们就来由浅入深,从源码中去好好的研究研究这个东西.看看它有哪些可能被我们忽视的地方. 以上述书中的案例来说,它的需求很简单,请实现"让一个按钮居中显示,且占据屏幕一半的宽度". 要实现这个需求也许有很

盒子细节问题和居中显示

一.盒子模型 https://www.cnblogs.com/smyhvae/p/7256371.html 问题1:盒子的height和width是中间内容框的height和width.这里1234是内容框内的内容.要让内容1234在盒子中居中显示: (1)水平居中显示:text-align:center 设置块状元素中文字的水平对齐 (2)垂直居中显示:    CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生效,例如表格元素中的<t

Js打开网页后居中显示

使用JavaScript定义打开网页后居中显示,并可为窗口设置大小,使用“window.open”方法打开新窗口:先来看完整的代码及调用方法: <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>打开居中的窗口</title> <script language="javascript"> //参数-url:要打开的网站,winname:打开后

关于UIImageView的显示问题——居中显示或者截取图片的中间部分显示

我们都知道在ios中,每一个UIImageView都有他的frame大小,但是如果图片的大小和这个frame的大小不符合的时候会怎么样呢?在默认情况,图片会被压缩或者拉伸以填满整个区域. 通过查看UIView的属性可以知道,view的contentMode属性可以用来控制图片的显示情况.下面的设置可以让图片进行居中显示. 1 imageView.contentMode =  UIViewContentModeCenter; 这个居中是包括了,横向和纵向都是居中.图片不会拉伸或者压缩,就是按照im

【Android 开发笔记】weight属性

混合使用weightSum和layout_weight 先看效果,button占据屏幕宽度的一半. 再看开发文档中的描述. "定义weight总和的最大值.如果未指定该值,以所有子视图的layout_weight属性的累加值作为总和的最大值.一个典型的案例是:通过指定子视图的layout_weight属性为0.5,并设置LinearLayout的weightSum属性为1.0,实现子视图占据可用宽度的50." XML文件的源码. <LinearLayout xmlns:andro

关于大图片居中显示~适应移动端

今天修改项目的时候碰到一个问题,移动端点击小图片后,打开一个大图片显示:由于这个大图片的比例是不确定的,所以如何显示就成了一个问题. 最初的这个功能是设置了一个css3的属性,然后在Android手机上出了问题, -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; 然后我查了一下这个属性: 因为版本的原因,一些Android机没法使用这个属性. 我找了找居中显示的资料,看了看百度图片的图片显示方

让TextView的drawableLeft与文本一起居中显示

 TextView的drawableLeft.drawableRight和drawableTop是一个常用.好用的属性,可以在文本的上下左右放置一个图片,而不使用更加复杂布局就能达到,我也常常喜欢用RadioButton的这几个属性实现很多效果,但是苦于不支持让drawbleLeft与文本一起居中,设置gravity为center也无济于事,终于有空研究了一下,这里与大家一起分享. 声明 欢迎转载,请注明出处! 博客园:http://www.cnblogs.com/ 农民伯伯: http://w