xml布局常见问题

layout_gravity:指的是自己对于自己爸爸容器中的位置;

gravity:指的是设置自己儿子的位置;

因为RelativeLayout布局中默认儿子们都是左上角覆盖排布,所以其中儿子们的layout_gravity属性无法使用。但是别灰心!!还有layout_centerVertical,_centerHorizontal,_centerInParent三个属性来设置自己在爸爸容器中的位置。

 

 

在RelativeLayout中,如果光去设置内部空间layout_marginbottom值和layout_marginright值是不会生效的,因为RelativeLayout默认是左上角排布,只有将其gravity设置为gravity="bottom",layout_marginbottom才会生效;将gravity设置为right,layout_marginright会生效;同时设置的话,两个属性值都有用;   或者在子view中设置android:layout_alignParentRight="true"  ,这样就能让marginright生效

 

同理LinearLayout也是,只是说对它的布局而言,默认排布不是左上角,但是锚点是在左上角,所以也是同RelativeLayout一样,要设置gravity="bottom"right,才会生效

 

 

 

问题一

xml中需要有一个满屏的listview,但是也要求有底部导航栏 实现方法

以前的实现方法是,在测试机中先将listview的高度设为某一特定值,底下剩下的高度可以放下底部导航栏;

这样的话可能会因为手机的不同导致ui有差异;

 

 

最近看到一个实现方法:

先将listview的weight设置为1;

 

那么留下剩余的高度就是底部导航栏的高度(底部导航栏一定要设置具体高度数值):

 

因为如果LinearLayout中的某一控件A的高的权重设为1,那么代表着这个控件在其他控件占好位置之后,剩下的高就全是控件A占着

实现的效果:

 

 

 

 

 

问题二:

组长给的一个测试:要用线性布局和相对布局分别实现下面一行效果,这一行中有三个按钮,每个相隔10dp。高度不做考虑,即可为一个具体数值。除了中间按钮没有具体宽 为wrap_content,其他两个宽都是20dp。

 LinearLayout:(注意中间btn将weight设置为1,即可占满剩余空间)

RelativeLayout:(在中间btn未设置具体数值宽度之前,想占满整个剩下的空间,需要在左边控件的右边torightof 同时在右边控件的左边toleftof,这样才能拉大中间的btn长度)

 

 

 

Q3: android中 有textview在布局中居右展示以及文本靠右对齐

 

android:textAlignment="viewStart"
android:textDirection="rtl"

android:gravity="right"

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值