50一个Android开发技巧(01 利用好layout_weight属性)

问题:如何将一个Button放置在布局的中间,并设置其宽度parent的50%?

分析:问题想要达到的效果应该是这样:

(原文地址:http://blog.csdn.net/vector_yi/article/details/24397733)

这看起来不难,但非常多开发人员并不知道达到这样效果的最佳方法。

解决:在此我们将weightSum属性与layout_weight属性一起利用。

<LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
    android:layout_width= "fill_parent"
    android:layout_height= "fill_parent"
    android:background= "#ffffff"
    android:gravity= "center"
    android:orientation= "horizontal"
    android:weightSum= "1" ><!--1.加入android:weightSum属性-->

    <Button
        android:layout_width ="0dp"<!--2.将Button的layout_width设为0dp-->
        android:layout_height ="wrap_content"
        android:layout_weight ="0.5"<!--3.确保其占用了50%的可用空间-->
        android:text ="@string/activity_main_click_me" />

</LinearLayout>

能够注意到,在第2步将Button的layout_width设为了0dp。会不会与layout_weight有冲突?答案是不会:

一个控件的宽度是这样计算出来的:

Widget‘s width + Widget‘s
weight*Parent‘s width/Parent‘s weightSum

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-10-06 05:13:45

50一个Android开发技巧(01 利用好layout_weight属性)的相关文章

50个Android开发技巧(10 为TextView加入样式)

首先来看一个控件的例子: (原文地址:http://blog.csdn.net/vector_yi/article/details/24428085) 手机上类似这种场景你一定已经见过非常多次了,但有没有考虑过它是如何实现的? 或许你会觉得这是一个略微复杂的自己定义的View,但,没错,这实际上仅仅是一个原生的TextView而已. TextView是一个简单而奇妙的Widget,你能够利用它以不同风格不同格式来展现文字. 举两个简单的样例: 1.在TextView中加入一个超链接 事实上非常e

50个Android开发技巧(24 处理ListView数据为空的情况)

在移动平台上为用户展示数据的一个经常用法是将数据填充进一个List内,而此时须要注意的一点就是: 原文地址:(http://blog.csdn.net/vector_yi/article/details/24936163) 怎样处理须要填充的数据为空的情况? ListView及其它继承自AdapterView的类都有一个简便的处理这样的情况的方法:setEmptyView(View). 当ListView的Adapter为空或者Adapter的isEmpty()方法返回true的时候,它将会把设

50个Android开发技巧(20 使用MVP模式)

??在提供了2个链接,其中一个是原文的链接?? http://yeungeek.com/2014/06/17/mvp-android/ http://blog.csdn.net/vector_yi/article/details/24719873 一.MVP介绍 随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责.为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Mode

50个Android开发技巧(09 避免用EditText对日期进行验证)

我们都知道,在表单中对数据进行验证不但无聊并且easy出错. (原文地址:http://blog.csdn.net/vector_yi/article/details/24424713) 想象一下,一个表单内有若干个须要日期类型的输入,而你又不想对这些输入信息进行日期类型的验证,你会怎么做? 这里有一种解决的方法是,让用户觉得他们是在一个EditText中操作,但实际上是一个Button,点击这个Button时会弹出一个DatePicker. 为了让这个方法可行,我们须要改变这个Button的背

50个Android开发技巧(03 自己定义ViewGroup)

问题:怎样创建一个例如以下图所看到的的布局? 图1 (原文地址:http://blog.csdn.net/vector_yi/article/details/24415537) 你可能会说,利用RelativeLayout和margins就能够实现.的确,例如以下XML代码能够简单地构建一个类似的布局: <RelativeLayout xmlns:android = "http://schemas.android.com/apk/res/android" android:layo

50个Android开发技巧(11 为文字加入特效)

问题:怎样构建一个模拟LED数字时钟的页面?效果例如以下图所看到的: (原文地址:http://blog.csdn.net/vector_yi/article/details/24460227) 分析:我们能够利用两个TextView来显示,第一个TextView显示LED屏上默认不发光的88:88:88.还有一个显示实时的时间并加入发光及阴影效果. 可是我们还须要解决显示的字体问题,让它看起来更像是一个真实的LED数字时钟. 解决步骤:(1)自己定义一个LedTextView类,继承自Text

50个Android开发技巧(12 为控件加入圆角边框)

控件的圆角边框能够使你的App看起来更美观,事实上实现起来也非常easy. (原文地址:http://blog.csdn.net/vector_yi/article/details/24463025) 以创建一个灰色的带圆角边框的Button为例: 一.创建一个ShapeDrawable作为背景 在drawable文件夹下创建一个button_rounded_background.xml文件: <shape xmlns:android = "http://schemas.android.c

解决一个 Android开发自定义控件问题,无法读取属性值

今天玩了一下Android自定义控件,是一个TextView和ImageButton的组合控件,所有的都写好了,但是运行得不到想要的结果,找了大半天找不到错误,代码如下: 1.工程目录结构 2.imagebtn_with_text.xml <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res

Android开发技巧——自定义控件之自定义属性

Android开发技巧--自定义控件之自定义属性 掌握自定义控件是很重要的,因为通过自定义控件,能够:解决UI问题,优化布局性能,简化布局代码. 上一篇讲了如何通过xml把几个控件组织起来,并继承某个ViewGroup子类,把它们封装起来使用.这是我们接触到的最简单的一种自定制控件了.但许多时候,我们还需要在布局文件中使用它们的时候,能通过属性传入一些值,来影响最终的显示结果. 我们在做项目中经常会遇到的一个情况:一张图片加一个文本的组合.比如充值账户成功之后显示的一个界面,上面是一个表示成功的