2018-11-26 关于layout布局的一些总结

2018-11-26  本文已影响0人  呵呵哒hhhh

1、最近要做到动态设置margin,如下

RelativeLayout.LayoutParams horFollowlayoutLp=(RelativeLayout.LayoutParams)mHorFollowLayout.getLayoutParams();

horFollowlayoutLp.bottomMargin=220;

那么这个220的单位是什么?是px。可以查看源码:

源码图

但是,我们还需要适配不同的分辨率手机,需要用dip。所以,此时我们需要一个dip单位的数值,但是margin接受的是px,于是horFollowlayoutLp.bottomMargin=UIUtils.dip2px(mContext,76);也就是将76dp转换为不同分辨率下的px。

2、invisible表示控件不可见,但是他占据着原来的位置和大小,可以理解为控件变成透明状态了。gone则表示控件不仅不可见,而且不再占用任何屏幕控件。

3、textview等view中,android:gravity="center_vertical"用于指定文字在控件中的对齐方式。android:layout_gravity是指控件在布局中的位置,也就是textView在linearlayout(或者其他layout)的位置。

而linearlayout的gravity和relativeLayout中的gravity含义也不同,下次再写。

4、对于weight的使用,一种比较优美的写法,记录一下:

EditText和button在linearLayout中,方向是horizontal,EditText的width是0,weight是1,button的weight

是wrap_content.这样EditText会占满整个剩余空间。

5、横屏的时候,点击edittext1,弹出键盘,系统键盘会自带输入框,而且会全屏。很可怕。此时需要将edittext1在xml设置属性,才可以。

键盘展示

6、在xml中为textview中设置includeFontPadding为false时,text文本会填充整个textview,为true时,text会与textview边界有距离。如下图:

图  includeFontPadding为false 图  includeFontPadding为true
上一篇下一篇

猜你喜欢

热点阅读